"self" Schlüsselwort hält die Referenz der Klasse und es liegt an Ihnen, ob Sie es verwenden möchten oder nicht. Aber wenn Sie bemerken, dass, jedes Mal wenn Sie eine neue Methode in Python erstellen, Python automatisch das Schlüsselwort self für Sie schreibt. Wenn Sie etwas Recherche und Entwicklung betreiben, werden Sie feststellen, dass wenn Sie zum Beispiel zwei Methoden in einer Klasse erstellen und versuchen, eine in der anderen aufzurufen, erkennt es die Methode nicht, es sei denn, Sie fügen self hinzu (Referenz der Klasse).
class testA:
def __init__(self):
print('ads')
def m1(self):
print('method 1')
self.m2()
def m2(self):
print('method 2')
Der untenstehende Code wirft einen nicht auflösbaren Referenzfehler.
class testA:
def __init__(self):
print('ads')
def m1(self):
print('method 1')
m2() # wirft einen nicht auflösbaren Referenzfehler, da die Klasse nicht weiß, ob m2 im Klassenumfang existiert
def m2(self):
print('method 2')
Jetzt schauen wir uns das folgende Beispiel an
class testA:
def __init__(self):
print('ads')
def m1(self):
print('method 1')
def m2():
print('method 2')
Wenn Sie jetzt ein Objekt der Klasse testA erstellen, können Sie die Methode m1() mit dem Klassenobjekt so aufrufen, da die Methode m2() das self-Schlüsselwort enthalten hat
obj = testA()
obj.m1()
Aber wenn Sie die Methode m2() aufrufen möchten, weil sie keinen self-Verweis hat, können Sie m2() direkt mit dem Klassennamen wie unten aufrufen
testA.m2()
Aber bleiben Sie in der Praxis beim self-Schlüsselwort, da es auch andere Vorteile bietet, wie das Erstellen von globalen Variablen und so weiter.