this post was submitted on 21 Nov 2023
251 points (89.8% liked)

Programmer Humor

32464 readers
150 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Gebruikersnaam@lemmy.ml 11 points 11 months ago (1 children)

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

[–] tryptaminev@feddit.de 9 points 11 months ago (2 children)

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'

[–] Chrobin@discuss.tchncs.de 2 points 11 months ago (1 children)
[–] Gebruikersnaam@lemmy.ml 3 points 11 months ago (1 children)

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

[–] Chrobin@discuss.tchncs.de 2 points 11 months ago (1 children)

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

[–] Gebruikersnaam@lemmy.ml 1 points 11 months ago

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

[–] dzervas@lemmy.world 1 points 11 months ago (1 children)

you can do i: int to make this error out

[–] Gebruikersnaam@lemmy.ml 6 points 11 months ago (1 children)

No, type hints are not enforced.