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
Libérer: 2025-01-05 01:29:40
original
450 Les gens l'ont consulté

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
Copier après la connexion

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)
Copier après la connexion

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, ...): ...
Copier après la connexion

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, ...): ...
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal