Willkommen zurück.
Im vorherigen Video haben wir gesehen, dass wir ein großes Booboo gemacht haben, das heißt, wir haben Namen und Sprache überschrieben, und
jetzt wurde all die harte Arbeit, die wir in unsere Klasse gesteckt haben, dadurch außer Kraft gesetzt.
Ich meine, sicher, wenn wir ein neues Objekt instanziieren.
Wir werden laufen und sprechen, aber Spieler eins ist jetzt völlig nutzlos, er hat keinen Namen und keine Rede, sondern
sagt nur Boo, völlig nutzlos.
In Python gibt es diese Idee von öffentlich und privat, und dies hängt mit unserer Diskussion der Abstraktion
zusammen. Die Idee hinter der Abstraktion besteht darin, dass wir Informationen verstecken und nur Zugriff auf Dinge gewähren,
die einem Benutzer wichtig sind.
Rechts.
Idealerweise sollten wir keinen Zugriff darauf haben.
Im Idealfall sollten wir Namen und Alter nicht ändern, ausführen oder ändern können, denn wenn
wir einen Spielercharakter in unserem Spiel erstellen, kann der Spieler hoffentlich seinen Namen oder sein Alter zufällig
ändern.
Und schleichen Sie sich in unser Spiel ein, das vielleicht erst 18 und älter ist.
Können wir also eine private Variable in unserer Klasse erstellen?
Nun, hier ist die Sache.
Einige Sprachen erlauben uns private Variablen.
Zum Beispiel kann ich in einer Sprache wie Java tatsächlich sagen, dass ein Attribut so privat ist, und ich
kann nicht darauf zugreifen und es so ändern, wie ich es habe.
Aber in Python gibt es keine echte Privatsphäre, keine echten privaten Variablen.
Wie also umgehen wir das?
Nun, was wir tun würden, ist den Namen zu unterstreichen oder H zu unterstreichen.
Gibt das nun eine besondere Macht?
Nein, dies ist nur eine Konvention, die als Programmierer gilt. Als Python-Programmierer haben wir festgestellt,
dass, wenn wir einen Unterstrich in unserem Code sehen, dies höchstwahrscheinlich bedeutet, dass dies eine private Variable sein sollte.
Wenn ich es also in der Sprache verwende, sagen wir, unterstreichen Sie den Namen, unterstreichen Sie H.
Und lass uns das auskommentieren, wenn ich klicke, Ron.
Nun, ich muss das ausführen, weil es jetzt eine Methode ist, lassen Sie uns ausführen.
Und ich weiß, mein Name ist Andre und ich bin 100 Jahre alt.
Es funktioniert alles, aber wenn ich versuche, dies zu überschreiben und auf Ausführen zu klicken.
OK, und jetzt, da es keine Methode mehr ist, lassen Sie uns entfernen, sprechen und ich klicke auf Ausführen.
Dies funktioniert immer noch, und das liegt daran, dass es, wie gesagt, als Programmierer keine echten privaten Variablen gibt. Wir haben beschlossen, dass
Unterstrich bedeutet, dass Sie uns nicht berühren sollten.
Bitte fass das nicht an.
Du kannst immer noch schlecht sein und so etwas tun.
Aber ich informiere Sie rechtzeitig.
Wenn Sie einen Unterstrich sehen, sollte dieser nicht geändert werden.
Dies sollte privat sein.
Und so erreichen wir Privatsphäre in Python.
Wir waren uns alle einig zu sagen, hey, lass uns dieses kleine Ding privat halten.
Wenn Sie also jemals eine Methode oder ein Attribut privat halten möchten, setzen Sie einfach einen Unterstrich davor.
Aber es ist keine Garantie.
Was ist mit dieser doppelten Unterstreichung init?
Auch hierüber werden wir in Kürze sprechen, aber es wird Dundar-Methode genannt.
Das heißt, es ist in Python integriert.
Und normalerweise schreiben wir nie unsere eigenen Dundar-Methoden, wir würden niemals doppelten Unterstrich schreiben, schreiben Sie dies.
Diese doppelten Unterstriche und es gibt viele davon haben in Python eine besondere Bedeutung.
Und der Grund für diesen Namen ist, dass sie sagen, hey, wenn Sie einen doppelten Unterstrich für Ihre
Variable schreiben, machen Sie etwas sehr falsch, Sie sind dabei, etwas zu überschreiben.
Dieser doppelte Unterstrich ist also auch eine Konvention, um die Leute wissen zu lassen, dass Sie
dies nicht wirklich anfassen oder mit jedem Datentyp ändern sollten.
Sagen wir eine Liste.
Wenn ich Dot mache, sehen Sie das, wenn Sie nach unten scrollen.
Sie haben wieder viele dieser Dundar-Methoden, über die wir sprechen werden.
Aber diese sind hier, um Sie wissen zu lassen, überschreiben Sie diese nicht.
Wenn Sie so etwas wie Unterstrich, Unterstrich, ich kenne kein Dokument wie dieses machen, ist das schlecht.
Versuchen Sie nicht, es zu ändern und fünf zuzuweisen.
Daher ist diese Idee eines privaten Felds für Python wichtig, und obwohl wir viele Dinge überschreiben können, ist dies eine
schlechte Praxis.
Aber bringen wir es zurück zur Abstraktion.
Die Idee ist, diesen Code zu abstrahieren.
Und obwohl es mit diesen richtigen Konventionen wie privaten Attributen modifiziert und überschrieben werden kann, sind wir in der
Lage, Dinge wegzuabstrahieren, aber dennoch sicherzustellen, dass das, was der Benutzer möglicherweise verwendet, unseren Code
nicht bricht.
Wir sehen uns im nächsten, Bob.