Ich habe ein einfaches Beispiel zusammen mit einer einfachen Definition/Bedeutung angegeben.
Bedeutung:
some_variable -- es ist öffentlich, jeder kann es sehen.
_some_variable -- es ist öffentlich, jeder kann es sehen, aber es ist eine Konvention, um privat anzuzeigen... Warnung Die Durchsetzung erfolgt nicht durch Python.
__some_varaible -- Python ersetzt den Variablennamen durch _classname__some_varaible (AKA name mangling) und es reduziert/versteckt seine Sichtbarkeit und ist mehr wie eine private Variable.
Nur um hier ehrlich zu sein Gemäß der Python-Dokumentation
""Private" Instanzvariablen, auf die nur von einem Objekt aus zugegriffen werden kann innerhalb eines Objekts zugreifen können, gibt es in Python nicht.
Das Beispiel:
class A():
here="abc"
_here="_abc"
__here="__abc"
aObject=A()
print(aObject.here)
print(aObject._here)
# now if we try to print __here then it will fail because it's not public variable
#print(aObject.__here)
6 Stimmen
Eine tolle kurze Antwort aus einem anderen Thread: stackoverflow.com/a/8689983/911945
1 Stimmen
Siehe auch dies ausgezeichnet Hier finden Sie eine Antwort auf die Frage nach einfachen und doppelten Unterstrichen und eine Demonstration der "Namensverwechslung"! Antwort auf "Private Mitglieder in Python"