Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Instanziierung von Klassen

Einführung in die Instanziierung von Klassen

零下一度
零下一度Original
2017-07-20 21:06:142749Durchsuche

1. Definieren Sie eine Klasse

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.

2. Self stellt eine Instanz dar, keine Klasse

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 &#39;__main__.Dog&#39;>

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.

3. Instanzobjekte erstellen

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

4. Zugriffsattribute  

Mit dem Punkt (.) können Sie auf die Eigenschaften eines Objekts zugreifen

# 通过 d.方法   来访问属性
d.eat(&#39;beaf&#39;)

#输出
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn