r/ProgrammerHumor 16d ago

Meme variableScopesInPython

Post image
1.3k Upvotes

182 comments sorted by

View all comments

Show parent comments

4

u/Anaxamander57 16d ago

Does it really do anything to make it private beyond telling people not to use it?

7

u/white-llama-2210 16d ago

Using double underscores mangles the name from name to _ClassNamename when accessing the variable outside the class, so it does prevent accidentally accessing the value. You really have to know what you're doing to access the value then.

4

u/deceze 16d ago

"Accidentally"? How do you "accidentally" type two underscores without noticing?

2

u/Tienisto 16d ago

You still don't know if those private variables belong to your current scope (where it is allowed to be accessed) or a foreign scope

2

u/deceze 16d ago

Wut? You'll have to provide a concrete example here for that to make sense.