Maison >développement back-end >Tutoriel Python >Comment fonctionnent les variables et méthodes statiques en Python ?

Comment fonctionnent les variables et méthodes statiques en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-17 19:05:12148parcourir

How Do Static Variables and Methods Work in Python?

Création de variables et de méthodes statiques en Python

En Python, les variables et méthodes statiques sont appelées respectivement variables de classe et méthodes de classe. Ces entités sont définies au niveau de la classe et peuvent être consultées et manipulées sans instancier d'objets.

Variables de classe

Les variables de classe sont déclarées dans la définition de classe, en dehors de toute méthode. . Ils sont partagés entre toutes les instances de la classe et sont accessibles en utilisant le nom de la classe suivi d'un point. Par exemple :

class MyClass:
    i = 3

print(MyClass.i)  # Outputs 3

Méthodes de classe

Les méthodes de classe sont des fonctions définies au sein d'une classe, mais contrairement aux méthodes d'instance, elles opèrent sur la classe elle-même plutôt que sur sur une instance. Elles sont déclarées à l'aide du décorateur @staticmethod.

class MyClass:
    @staticmethod
    def f(arg1, arg2, ...): ...

Les méthodes de classe peuvent être appelées directement en utilisant le nom de la classe, sans objet. Elles sont généralement utilisées pour effectuer des tâches indépendantes des instances individuelles, telles que des fonctions utilitaires ou la vérification de type.

Méthodes de classe plutôt que méthodes statiques

Certains programmeurs préfèrent les méthodes de classe aux méthodes statiques. car ils peuvent recevoir le type de classe comme premier argument. Cela permet à la méthode d'accéder à des informations spécifiques à la classe et d'effectuer des opérations plus complexes.

class MyClass:
    @classmethod
    def g(cls, arg1, arg2, ...): ...

Exemple

Considérez la définition de classe suivante avec à la fois une variable de classe et un méthode de classe :

class MyClass:
    count = 0

    @classmethod
    def get_count(cls):
        return cls.count

Cette classe contient un nombre de variables de classe qui garde la trace du nombre d'objets créés et une méthode de classe get_count qui récupère le nombre actuel valeur du compte. Pour les utiliser, nous pouvons écrire :

MyClass.count += 1  # Increment the class variable
print(MyClass.get_count())  # Call the class method to get the count

Les variables et méthodes de classe fournissent un moyen pratique de définir et d'utiliser des données et des fonctionnalités partagées entre différentes instances d'une classe, simplifiant l'organisation du code et améliorant la réutilisabilité du code.

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