Verwendung von self
1. Self bezieht sich auf die Instanz selbst (Instanz) (empfohlenes Lernen: Python-Video-Tutorial)
2. Da sich das Wort „selbst“ relativ auf „andere“ bezieht, bezieht es sich auf die Klasse und andere Variablen, wie z. B. lokale Variablen und globale Variablen
selbst hier, Es ist ein Objekt ( Object), eine Instanz der aktuellen Klasse.
Warum gibt es in Python ein Selbst?
Im Klassencode (Funktion) müssen Sie auf die Variablen und Funktionen in der aktuellen Instanz zugreifen, also zugreifen (Instanz) Die Variable (Eigenschaft), die
in der Instanz entspricht: Instance.ProperyNam, um den vorherigen Wert und den geschriebenen Wert
zu lesen (2) Rufen Sie die entsprechende Funktion auf: Instance.function( ), das heißt, um die entsprechende Aktion
auszuführen und auf die Variablen der Instanz zuzugreifen und die Funktion der Instanz aufzurufen, ist natürlich das entsprechende Instanzobjekt selbst erforderlich
In Python ist festgelegt, dass der erste Parameter der Funktion das Instanzobjekt selbst sein muss, und es wird empfohlen, seinen Namen als self zu schreiben
#! usr/bin/python3.7 # -*- coding:utf-8 -*- """ class Person(object): def __init__(self, name, lang, website): self.name = name self.lang = lang self.website = website print('self', self) print('type of self', type(self)) class Dog(object): def __init__(self, name, dog_type): self.name = name self.dog_type = dog_type # def sayhi(): # print("hello I am dog, my name is ",self.name) def sayhi(self): print("hello ,I am dog, my name is ",self.name) if __name__ == '__main__': p = Person('xiaoliang', 'hanyu', 'www.mutual-helper.com') d = Dog('Caty', 'Firce') """当程序运行时,会报错,takes 0 positional arguments but 1 was given 这是因为这个函数不需要参数,但是函数却被传递了一个参数,可是我们调用sayhi()函数的时候, 并没有写参数。为什么会出现这样的参数Error 这是因为"每一个相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用__init__中的 参数self会自动传递给sayhi(),而sayhi()在定义的时候没有形参,就会报错。 """ d.sayhi() # d.sayhi(self),也会报错
Mehr mit Python verwandt Für technische Artikel besuchen Sie bitte die Spalte Python-Tutorial, um mehr zu erfahren!
Das obige ist der detaillierte Inhalt vonSo verwenden Sie self in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!