Maison >développement back-end >Tutoriel Python >Qu'est-ce que la classe en python

Qu'est-ce que la classe en python

silencement
silencementoriginal
2019-06-27 09:22:4313336parcourir

Qu'est-ce que la classe en python

Il existe deux concepts importants dans le processus de programmation orientée objet : la classe et l'objet (objet, également appelé instance, instance), où une classe est un certain lot de L'abstraction de les objets peuvent être compris comme un certain concept ; l'objet est une entité concrète. En ce sens, ce que nous appelons les gens dans la vie quotidienne sont en réalité des objets humains, et non des êtres humains.

La syntaxe simple pour définir une classe en Python est la suivante :

class 类名:
    执行语句...
    零个到多个类变量...
    零个到多个方法...

Le nom de la classe doit uniquement être un identifiant légal, mais cela ne répond qu'aux exigences grammaticales de Python : si c'est le cas lisible depuis le programme Du point de vue du genre, les noms de classe Python doivent être concaténés par un ou plusieurs mots significatifs. La première lettre de chaque mot est en majuscule et les autres lettres sont toutes en minuscules. N'utilisez aucun séparateur entre les mots.

À en juger par la définition ci-dessus, la définition de classe de Python est un peu comme une définition de fonction. Elles commencent toutes par deux points (:) comme corps de classe et utilisent la partie uniformément indentée comme corps de classe. La différence est que les définitions de fonctions utilisent le mot-clé def, tandis que les définitions de classe utilisent le mot-clé class.

La définition de classe Python se compose d'un en-tête de classe (faisant référence au mot-clé de classe et à la partie nom de classe) et d'un corps de classe uniformément indenté. Les deux membres les plus importants du corps de classe sont les variables et les méthodes de classe. Si aucune variable ni méthode de classe n'est définie pour la classe, alors la classe est équivalente à une classe vide. Si la classe vide ne nécessite pas d'autres instructions exécutables, l'instruction pass peut être utilisée comme espace réservé. Par exemple, la définition de classe suivante est autorisée :

class Empty:
    pass

D'une manière générale, les classes vides n'ont pas beaucoup de signification pratique.

L'ordre de définition des membres de la classe n'a aucun effet, et les membres peuvent s'appeler.

Les deux membres les plus importants d'une classe Python sont les variables et les méthodes. Les variables de classe appartiennent à la classe elle-même et sont utilisées pour définir les données d'état contenues dans la classe elle-même : tandis que les variables d'instance appartiennent aux objets de la classe. class , utilisée pour définir les données d'état contenues dans l'objet : les méthodes sont utilisées pour définir le comportement ou l'implémentation de la fonction de l'objet de cette classe.

Python est un langage dynamique, donc les variables de classe contenues dans ses classes peuvent être ajoutées ou supprimées dynamiquement (lorsque le programme attribue des valeurs à de nouvelles variables dans le corps de la classe, il ajoute des variables de classe), et le Le programme peut également ajouter des variables de classe n'importe où. Ajouter des variables aux classes existantes ; le programme peut supprimer les variables de classe des classes existantes via l'instruction del.

De même, les variables d'instance des objets Python peuvent également être ajoutées ou supprimées dynamiquement (tant qu'une nouvelle variable d'instance se voit attribuer une valeur, la variable d'instance est ajoutée), afin que le programme puisse ajouter des variables d'instance à la sienne. objets n'importe où ; programme Les variables d'instance des objets existants peuvent être supprimées via l'instruction del.

Les méthodes définies dans une classe sont des méthodes d'instance par défaut. La méthode de définition d'une méthode d'instance est fondamentalement la même que celle de définition d'une fonction, sauf que le premier paramètre de la méthode d'instance sera lié à l'appelant. de la méthode (l'instance de classe), les méthodes d'instance doivent donc définir au moins un paramètre, généralement nommé self.

Remarque : le premier paramètre de la méthode d'instance n'a pas besoin d'être appelé self. En fait, il peut être appelé n'importe quel nom de paramètre. C'est juste une convention pour nommer le paramètre self, qui a la meilleure lisibilité. .

Il existe une méthode spéciale dans la méthode d'instance : __init__, cette méthode est appelée la méthode constructeur. Le constructeur permet de construire un objet de cette classe, et Python renvoie un objet de cette classe en appelant le constructeur (pas besoin d'utiliser new).

De nombreuses méthodes en Python qui commencent par un double trait de soulignement et se terminent par un double trait de soulignement ont des significations particulières. Ces méthodes spéciales seront présentées en détail plus loin dans ce didacticiel.

Le constructeur est le moyen fondamental pour une classe de créer des objets, donc Python fournit également une fonction : si le développeur ne définit aucun constructeur pour la classe, alors Python définira automatiquement un constructeur pour la classe qui contient un seul self Le constructeur par défaut pour les paramètres.

Le programme suivant définira une classe Person :

class Person :
    '这是一个学习Python定义的一个Person类'
    # 下面定义了一个类变量
    hair = 'black'
    def __init__(self, name = 'Charlie', age=8):
        # 下面为Person对象增加2个实例变量
        self.name = name
        self.age = age
    # 下面定义了一个say方法
    def say(self, content):
        print(content)

Le code de la classe Person ci-dessus définit un constructeur. Le constructeur n'a qu'un nom de méthode spécial : __init__, la première partie du. méthode Un paramètre est également self, lié à l'objet initialisé par le constructeur.

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