TIL. Obviously I’ve avoided using it much.

So how does that work? Is there a few implicit conversions that are allowed, but if you really write something weird it will complain?

Yes, it has no implicit conversions like JS or R. It does, however, allow you to not specify the type of a variable and even change it without complaining. Even if you add types these are only hints that won’t generate errors unless you use external type checking (e.g. mypy).

example:

i = 5.0//2

list[i]

throws an error because i is double and the list-index expects an integer.

so for it to work the code needs to look like this:

i = int(5.0//2)

list[i]

meanwhile this works:

i=5

i= ‘abcde’

Isn’t // integer division?

It is but if you start with a float you get a float back.

You’re right, I did not know that. Thanks!

Was really surprised by this too, because iirc Python 2 did not do this.

dzervas
link
fedilink
110M

you can do i: int to make this error out

No, type hints are not enforced.

dzervas
link
fedilink
110M

damn

In python you always have the right type, cause everything is an object

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 120 users / day
  • 257 users / week
  • 744 users / month
  • 3.72K users / 6 months
  • 1 subscriber
  • 1.47K Posts
  • 32.3K Comments
  • Modlog