Seite 1 von 1

Protected und Private

Verfasst: Freitag 8. Februar 2019, 11:47
von Jankie
Hallo,

wir hatten gestern in der Berufsschule das Thema Kapselung in Python. In diesem Zusammenhang hat uns der Lehrer die Möglichkeit von __pivate gezeigt.

Nun lese ich aber schon ein paar Monate hier im Forum mit und habe mitbekommen, dass es das so nicht in Python gibt und eigentlich nur verwendet wird um Namenskollisionen bei Mehrfachvererbung zu vermeiden. Mit der Suchfunktion bin ich dann auf diesen Code gestoßen:

Code: Alles auswählen

class Unsinn:
    def __init__(self):
        self.__so_geheim = 1000

u = Unsinn()
print(u._Unsinn__so_geheim)


Kann mir bitte jemand erklären wieso damit der Zugriff gelingt, also was die Logik dahinter ist?

#edit:

da mit

Code: Alles auswählen

print(u.__so_geheim)
ja nicht darauf zugegriffen werden kann.

Mit freundlichen Grüßen

Jankie

Re: Protected und Private

Verfasst: Freitag 8. Februar 2019, 12:02
von Sirius3
Einfach in der Dokumentation nachlesen:
https://docs.python.org/3.7/tutorial/cl ... -variables

Re: Protected und Private

Verfasst: Freitag 8. Februar 2019, 12:48
von Jankie
Danke.