Maison >développement back-end >Tutoriel Python >Comment créer des constantes de classe et des méthodes statiques en Python ?

Comment créer des constantes de classe et des méthodes statiques en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 01:29:40492parcourir

How Do I Create Class Constants and Static Methods in Python?

Création de constantes et de fonctions de classe en Python

Python permet aux développeurs de créer des variables et des méthodes au niveau de la classe, communément appelées « variables de classe " et " méthodes statiques ".

Classe Variables

Les variables déclarées dans une définition de classe, en dehors de toute méthode, deviennent des variables de classe. Par exemple :

class MyClass:
    i = 3

Accéder à MyClass.i renverra la valeur 3. Notamment, les variables de classe sont distinctes de toutes les variables au niveau de l'instance portant le même nom, comme démontré ci-dessous :

m = MyClass()
m.i = 4
print(MyClass.i, m.i)  # Outputs: (3, 4)

Méthodes statiques

Contrairement aux méthodes d'instance, les méthodes statiques sont associées à la classe elle-même plutôt qu'à une instance spécifique. Pour créer une méthode statique, utilisez le décorateur @staticmethod. Par exemple :

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

Les méthodes statiques ne reçoivent pas de paramètre self car elles n'opèrent pas sur une instance spécifique.

Méthodes de classe vs méthodes statiques

Bien que les méthodes statiques soient pratiques pour les fonctions utilitaires, les méthodes de classe fournissent une approche plus pythonique en passant l'instance de classe en premier. paramètre.

@classmethod
def f(cls, arg1, arg2, ...): ...

Dans ce cas, cls fait référence à la classe elle-même. Ce modèle est souvent utilisé pour les méthodes d'usine ou les opérations qui manipulent la classe plutôt que n'importe quelle instance.

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