[PYTHON] Utilisation correcte de la méthode d'instance et de la méthode de classe

Utilisation correcte de la méthode d'instance et de la méthode de classe

Cette fois, j'écrirai sur la façon d'utiliser correctement les méthodes d'instance et les méthodes de classe.

Méthode d'instance

À utiliser lorsque vous souhaitez contrôler le comportement de chaque instance

Méthode de classe

Utilisé pour contrôler le comportement commun dans toute la classe

Utilisation appropriée de la méthode d'instance et de la méthode de classe en utilisant l'école comme exemple

école


class Class:
    #Nombre d'élèves inscrits dans toute l'école
    all_students_count = 0

    def __init__(self, teacher_name, grade, group):
        self.teachername = teacher_name
        self.grade = grade
        self.group = group
        self.roster=[]

    def enter(self, name):
        #Méthode d'instance
        self.roster.append(name)
        Class.all_students_count +=1

    @classmethod
    def reset_students_count(cls, reset):
        #Méthode de classe
        cls.all_students_count = reset

#Enregistrer les inscriptions en 2e et 3e classe avec la méthode d'instance
cl_23 = Class("Yamanaka", 2, 3)
cl_23.enter("Hirasawa")
cl_23.enter("Akiyama")
cl_23.enter("Tainaka")
cl_23.enter("Kotobuki")
cl_23.enter("Manabe")

print("Liste des inscrits en 2e et 3e classe" , cl_23.roster)
print(cl_23.all_students_count)
#production:Liste des inscrits en 2e et 3e classe['Hirasawa', 'Akiyama', 'Tainaka', 'Kotobuki', 'Manabe'], 5

#Enregistrez un groupe d'inscrits par an avec la méthode d'instance
cl_11 = Class("Toyota", 1, 1)
cl_11.enter("Kaneko")
cl_11.enter("Sato")
cl_11.enter("Shimizu")

print("Liste des inscrits par an" , cl_11.roster)
print(cl_11.all_students_count)
#production:Liste des inscrits par an['Kaneko', 'Sato', 'Shimizu'], 8

#Réinitialiser toutes les inscriptions avec la méthode de classe
Class.reset_students_count(0)
print(cl_11.all_students_count)
#production:0


Recommended Posts

Utilisation correcte de la méthode d'instance et de la méthode de classe
À propos de la classe et de l'instance
Python: variables de classe et d'instance
Variables de classe et d'instance Python
Définitions de classe Python et gestion des instances
[Python] Différence entre la méthode de classe et la méthode statique
[Python] classe, instance
Méthode de classe Méthode statique
classe python, instance
Calibrage et utilisation de la caméra avec opencv-python [méthode chang]
Parallélisation de la méthode de classe
Parallélisation de la méthode de classe
Remplacement de méthode et super
Utilisez SQL Alchemy et le multitraitement
Métaclasse et isinstance
Classes et méthodes statiques
Comment utiliser la méthode __call__ dans la classe Python
Ordre de référence des variables de classe et des variables d'instance dans "self. Variables de classe" en Python
Diverses méthodes de classe et méthodes statiques
Utilisez pyrtm et RTM CLI
Globalisation des variables d'instance de classe
Développement et simulation des perturbations Méthode des perturbations
Méthode de la somme cumulée et de la pomme de terre
Utilisation et intégration de "Shodan"
Héritage de classe et super fonction
Profil dans une méthode de la classe
J'étais accro aux variables de classe et aux variables d'instance erronées en Python
Je suis mort en pensant qu'une variable de classe Python était une variable d'instance