Les types de données que nous avons appris précédemment sont des classes et nous pouvons utiliser de nombreuses méthodes dans les classes.
La définition d'une classe utilise le mot-clé class et la structure syntaxique est la suivante :
nom de classe :''''Document de classe'''contenu
Le nom est le nom de la classe que nous voulons créer. Veuillez noter que nous essayons d'utiliser des lettres majuscules lorsque nous l'utilisons. Si nous utilisons deux mots pour la nommer, les premières lettres des deux mots doivent être des lettres majuscules.
La documentation de la classe est une information écrite pour nous aider à comprendre cette classe.
Le contenu est le corps de la classe , y compris les variables, les méthodes, les attributs, etc. Si nous n'avons pas besoin d'ajouter temporairement du contenu lors de la définition de la classe, nous pouvons utiliser l'instruction pass pour agir comme une instruction d'espace réservé.
Définissons une classe :
classSchool: #De cette façon, nous définissons une classe nommée School'''Définir une classe scolaire'''passschool=School()#De cette façon, nous appelons cette classe print(type(school))#Pass de sortie Jetez un œil à sa tapez à imprimer (école)
Le résultat est :
<class'__main__.School'><__main__.Schoolobjectat0x03372DD8>
D’après les résultats, nous pouvons voir que l’école est une classe, et à partir de la deuxième ligne, nous pouvons voir que l’école est une instance de la classe School.
Lors de la création d'une classe, une méthode __init__() est souvent créée. Cette méthode est une méthode de construction, c'est-à-dire que cette méthode sera utilisée à chaque appel de la classe et que les paramètres sont également passés dans cette méthode.
Cette méthode doit contenir un paramètre self, qui doit également être le premier paramètre. Ce paramètre pointe vers l'instance elle-même et peut accéder aux propriétés et méthodes qui existent dans cette classe.
Regardez l'exemple suivant :
classSchool: #De cette façon, nous définissons une classe. Si nous voulons appeler cette classe '''définir une classe d'école''' def__init__(self):print('Voici la méthode __init()__')def__judge__( self) :print('Jugez si cette méthode est appelée')school=School()
Le résultat est :
Voici la méthode __init()__
D'après le résultat, nous pouvons voir que tant que cette classe est appelée, la méthode __init__ est automatiquement appelée, mais la méthode __judge__ suivante n'est pas appelée.
On peut également utiliser une boucle pour vérifier si la méthode init sera utilisée à chaque appel de cette classe :
Regardez le code ci-dessous :
classSchool:'''Définir une classe d'école'''count=0def__init__(self):School.count+=1print('Ceci est la %dème utilisation de la méthode __init()__'%School.count)foriinrange(5 ): École()
Le résultat est :
Voici la première utilisation de la méthode __init()__. Voici la deuxième utilisation de la méthode __init()__. Voici la troisième utilisation de la méthode __init()__. Voici la __init()__. la méthode Voici la 5ème utilisation de la méthode __init()__
Nous pouvons voir sur le résultat que nous utilisons la méthode init 5 fois. Lorsque nous appelons cette classe pour la première fois, le compte est 0, puis la méthode init est ajoutée de 1. Le school.count dans la méthode init est augmenté. à chaque fois. 1. Ensuite, le décompte le plus externe reste inchangé Grâce à cet exemple, nous pouvons apprendre à utiliser init.
Lorsque nous apprenons des fonctions, le transfert de paramètres est défini dans le nom de la fonction, et dans la classe, nous pouvons transférer plus facilement les paramètres via la méthode init.
Regardez l'exemple suivant :
classGetAge:def__init__(self,name,age):self.name=nameself.age=ageprint('%s's age est %d'%(name,age))GetAge('Xiao Ming',18)
Le résultat est :
L'âge de Xiao Ming est de 18 ans
Nous devons noter que self est essentiel et doit être placé en premier. Ensuite, lorsque nous appelons cette classe, le nombre de paramètres (hors self) contenus dans la méthode init doit être égal au nombre que nous appelons. passé.