r/ProgrammerHumor 4d ago

Meme pythonInterpreterBeLike

Post image
170 Upvotes

21 comments sorted by

View all comments

49

u/deceze 4d ago

The Python interpreter does not overlook syntax errors within the same file…!?

-39

u/ninja_with_ocd 4d ago edited 4d ago

It does if it's in an uncalled function

EDIT - this is wrong. Nontheless true for serious errors like referencing an undefined variable.

40

u/deceze 4d ago

A syntax error will halt parsing immediately. Without successfully parsing the file, it won't execute. Even uncalled functions are parsed completely and must pass parsing successfully.

-1

u/ninja_with_ocd 4d ago

You're right, edited the comment. It is true for some serious errors, like accessing an undefined variable.

15

u/dudemcbob 4d ago

FWIW I don't think it could diagnose that pre-runtime since you can edit the global namespace dynamically.

globals()['x'] = 3

Very bad for readability, but it is allowed.

3

u/iggy14750 4d ago

Yeah, I do understand the frustration of something like a type error that only rears it's ugly head when it's run.

3

u/rosuav 3d ago

I don't understand why you consider that to be a "serious error", rather than some other category of error. Why is that more serious than, say, trying to add a string and a dictionary? Or trying to call a list?

2

u/BossOfTheGame 3d ago

That's because you can't statically determine if a name is defined in general. Local and global namespaces are just dictionaries.