Maison  >  Article  >  développement back-end  >  Introduction à l'instanciation de classe

Introduction à l'instanciation de classe

零下一度
零下一度original
2017-07-20 21:06:142751parcourir

1. Définir une classe

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')
  • La première méthode __init__() est une méthode spéciale, appelée constructeur ou méthode d'initialisation de la classe, cette méthode sera appelée lors de la création d'une instance de cette classe

  • self représente l'instance de la classe, self est utilisé lors de la définition de la méthode de la classe Il est obligatoire, bien qu'il ne soit pas nécessaire de transmettre les paramètres correspondants lors de l'appel.

2. Self représente une instance, pas une classe

Il n'y a qu'une seule différence particulière entre les méthodes de classe et les fonctions ordinaires - —Ils doivent avoir un premier nom de paramètre supplémentaire, qui par convention est self.

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;>

D'après les résultats de l'exécution, il est évident que self représente une instance de la classe et représente l'adresse de l'objet actuel, tandis que self.class pointe vers le classe.

3. Créer des objets d'instance

Le mot-clé new est généralement utilisé pour instancier une classe dans d'autres langages de programmation, mais en Python ce n'est pas le cas. Sans ce mot-clé, l'instanciation de classe est similaire à l'appel de fonction.  

# 创建一个Dog类的对象
d = Dog("xiaohei")

L'objet instancié est aussi appelé : instance

4. Attributs d'accès  

Vous pouvez utiliser le point (.) pour accéder aux propriétés d'un objet

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

#输出
xiaohei is eating beaf.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn