256
you are viewing a single comment's thread
view the rest of the comments
[-] Gebruikersnaam@lemmy.ml 27 points 1 year ago

Python is strongly typed, but it is also dynamically typed.

[-] CanadaPlus@futurology.today 9 points 1 year 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?

[-] Gebruikersnaam@lemmy.ml 11 points 1 year 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).

[-] tryptaminev@feddit.de 8 points 1 year 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'

[-] Chrobin@discuss.tchncs.de 2 points 1 year ago
[-] Gebruikersnaam@lemmy.ml 3 points 1 year ago

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

[-] Chrobin@discuss.tchncs.de 2 points 11 months ago

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 1 year ago

you can do i: int to make this error out

[-] Gebruikersnaam@lemmy.ml 6 points 1 year ago

No, type hints are not enforced.

[-] HappyRedditRefugee@lemm.ee 6 points 1 year ago

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

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

Programmer Humor

32479 readers
238 users here now

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

Rules:

founded 5 years ago
MODERATORS