Heim > Artikel > Backend-Entwicklung > Einführung in die Instanziierung von Klassen
class Dog(object): # 定义class def __init__(self, name): # 构造函数,构造方法 == 初始化方法 self.name = name # d.name = name 类的属性 / 成员变量 def say_hi(self): # 类的方法 print("Hello, I am a dog. My name is", self.name) def eat(self, food): print("%s is eating %s." % (self.name, food)) d = Dog("xiaohei") # Dog(d,"xiaohei") d == self # d 实例化的对象即实例,类中的self相当于实例 d.say_hi() # d.say_hai(d) d.eat('beaf')
Die erste Methode __init__() ist eine spezielle Methode, die als Konstruktor bezeichnet wird oder Initialisierungsmethode der Klasse, diese Methode wird aufgerufen, wenn eine Instanz dieser Klasse erstellt wird
self stellt die Instanz der Klasse dar, self wird beim Definieren der Methode der Klasse verwendet Es ist erforderlich, die Übergabe der entsprechenden Parameter beim Aufruf ist jedoch nicht notwendig.
Es gibt nur einen besonderen Unterschied zwischen Klassenmethoden und gewöhnlichen Funktionen – – Sie müssen einen zusätzlichen ersten Parameternamen haben, der laut Konvention self ist.
class Dog(object): def prt(self): print(self) print(self.__class__) d = Dog() print(d) print("-------------") d.prt() #输出 <__main__.Dog object at 0x000001DDBD10C5F8> ------------- <__main__.Dog object at 0x000001DDBD10C5F8> <class '__main__.Dog'>
Aus den Ausführungsergebnissen geht hervor, dass self eine Instanz der Klasse und die Adresse des aktuellen Objekts darstellt, während self.class auf die verweist Klasse.
Das Schlüsselwort new wird im Allgemeinen verwendet, um eine Klasse in anderen Programmiersprachen, jedoch in Python, zu instanziieren Dies ist nicht der Fall. Ohne dieses Schlüsselwort ähnelt die Klasseninstanziierung dem Funktionsaufruf.
# 创建一个Dog类的对象 d = Dog("xiaohei")
Das instanziierte Objekt heißt auch: Instanz
Mit dem Punkt (.) können Sie auf die Eigenschaften eines Objekts zugreifen
# 通过 d.方法 来访问属性 d.eat('beaf') #输出 xiaohei is eating beaf.
Das obige ist der detaillierte Inhalt vonEinführung in die Instanziierung von Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!