Méthodes d'apprentissage statiques de base et méthodes de classe Python3.x

Méthodes statiques et méthodes de classe

 

Méthodes d'instance / méthodes d'objet Les méthodes d'instance, ou méthodes d'objet, font référence à des méthodes que nous
ne pouvons utiliser qu'après l' instanciation des méthodes ordinaires définies dans la classe . Le premier paramètre formel de cette méthode doit recevoir l'objet lui-même

Méthode statique

1 Format: ajoutez @staticmethod à la méthode
2. Paramètres: les méthodes statiques peuvent avoir des paramètres ou aucun paramètre
3. Scénarios d'application: généralement utilisés pour l'objet de classe et le code indépendant de l'objet d'instance
4. Utilisation: nom de classe. Nom de méthode statique ( Ou nom d'objet. Nom de méthode statique)

classe Dog: 
    la @property 
    DEF EAT (auto):
         Imprimer ( " manger les os " ) 

# Dog.eat () # méthode ordinaire ne peut être appelé par des objets façon d'utiliser 
Dog = Dog () 
dog.eat 

# mangent les os

 

# Les méthodes statiques ne peuvent pas être utilisés dans les propriétés de classe ou d' instance et des méthodes de 
classe du jeu: 
    @staticmethod 
    DEF show_menu (le X-):
         Imprimer (le X-)
         Imprimer ( « bouton de démarrage 1 » )
         Imprimer ( « bouton pause 2 » )
         d'impression ( " bouton Fin 3 " ) 

# G = jeu () 
# g.show_menu () 
Game.show_menu (2 ) 

# 2 
# bouton de démarrage 1 
# bouton pause 2 
# bouton fin 3

 


Méthode de classe

Pas besoin d'instancier, vous pouvez appeler directement la méthode via la classe, mais le premier paramètre de la méthode doit reprendre la classe elle-même
1. Ajoutez @classmethod à la
méthode 2. Le paramètre de la méthode est cls ou d'autres noms, mais la valeur par défaut est généralement cls
3.cls pointe vers des objets de classe
4. Scénario d'application: lorsqu'une méthode n'implique que des propriétés statiques, vous pouvez utiliser des méthodes de classe (les méthodes de classe sont utilisées pour modifier les propriétés de classe)
5. L'utilisation peut être le nom de l'objet. Ou nom de classe. Nom de méthode de classe

classe la personne: 
    Rôle = « humain » 
    @classmethod 
    DEF Test (CCRS):          # Le premier argument doit être les objets de classe actuels, propriétés et méthodes de croisement de classe cls (attributs et méthodes ne peuvent pas passer par exemple) 
        Imprimer (cls.role)
         Imprimer ( " ---- ---- dans le test " )
 # Person.test () 

p1 = la personne () 
p1.test () 

# humaine 
# ---- ---- dans le test

 

Je suppose que tu aimes

Origine www.cnblogs.com/johnsonbug/p/12709965.html
conseillé
Classement