257
submitted 2 years ago by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[-] [email protected] 9 points 2 years ago

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?

[-] [email protected] 11 points 2 years ago

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).

[-] [email protected] 9 points 2 years ago

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'

[-] [email protected] 2 points 2 years ago
[-] [email protected] 3 points 2 years ago

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

[-] [email protected] 2 points 2 years ago

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

[-] [email protected] 1 points 2 years ago

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

[-] [email protected] 1 points 2 years ago

you can do i: int to make this error out

[-] [email protected] 6 points 2 years ago

No, type hints are not enforced.

[-] [email protected] 6 points 2 years ago

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

this post was submitted on 21 Nov 2023
257 points (90.0% liked)

Programmer Humor

36708 readers
22 users here now

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

Rules:

founded 5 years ago
MODERATORS