Maison > développement back-end > Tutoriel Python > Comment comprendre les variables statiques des classes en Python

Comment comprendre les variables statiques des classes en Python

anonymity
Libérer: 2022-05-27 16:12:52
original
6153 Les gens l'ont consulté

Python utilise les valeurs par défaut de la fonction pour implémenter les variables statiques de la fonction. S'il s'agit d'une méthode statique, vous pouvez utiliser l'annotation @staticmethod.

Comment comprendre les variables statiques des classes en Python1. Valeurs par défaut de la fonction Python
L'utilisation des valeurs par défaut de la fonction Python peut être pratique lors de l'écriture de code lors de l'appel de fonctions. Plusieurs fois, nous n'avons besoin que des valeurs par défaut. Par conséquent, les valeurs par défaut des fonctions sont beaucoup utilisées en Python, notamment dans les classes. Les valeurs par défaut sont généralement utilisées dans les fonctions d'initialisation des classes. Lorsque vous utilisez des classes, vous pouvez facilement créer des classes sans transmettre de nombreux paramètres.
Tant que vous ajoutez "=defalut_value" après le nom du paramètre de la fonction, la valeur par défaut de la fonction est définie. Une chose à noter est que les paramètres avec des valeurs par défaut doivent être à la fin de la liste des paramètres de fonction. Les paramètres sans valeurs par défaut ne peuvent pas être placés après les paramètres avec des valeurs par défaut, car si vous les définissez de cette façon, le l'interprète ne saura pas comment transmettre les paramètres.
Regardons d'abord un exemple de code :

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
ok = raw_input(prompt)
if ok in ('y', 'ye', 'yes'): return True
if ok in ('n', 'no', 'nop', 'nope'): return False
retries = retries - 1
if retries < 0: raise IOError, &#39;refusenik user&#39;
print complaint
Copier après la connexion

Lorsque vous appelez la fonction ci-dessus, vous pouvez modifier le nombre de tentatives et la langue de l'invite de sortie. Si vous êtes paresseux, vous ne le faites pas. il faut changer quoi que ce soit.
2. Python utilise la valeur par défaut de la fonction pour implémenter la fonction des variables statiques
Python ne prend pas en charge les variables statiques, mais nous pouvons implémenter la fonction des variables statiques via la valeur par défaut de la fonction.
Lorsque la valeur par défaut de la fonction est une classe dont le contenu est variable, le contenu de la classe est variable, mais le nom de la classe reste inchangé. (Cela équivaut à ce que la zone mémoire ouverte ne change pas, mais le contenu peut changer).
En effet, la valeur par défaut de la fonction en Python ne sera exécutée qu'une seule fois (comme les variables statiques, l'initialisation des variables statiques est également exécutée une fois.) C'est ce qu'elles ont en commun.
Regardez le fragment de programme suivant :

def f(a, L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
print f(4,[&#39;x&#39;])
print f(5)
Copier après la connexion

Le résultat de sortie est :

[1]
[1, 2]
[1, 2, 3]
[&#39;x&#39;, 4]
[1, 2, 3, 5]
Copier après la connexion

Le précédent est facile à comprendre, pourquoi "print f(5 )" à la fin ? Le résultat est "[1, 2, 3, 5]" ?
C'est parce que la variable par défaut n'a pas été modifiée lors de "print f(4,['x'])", car l'initialisation de la variable par défaut n'est exécutée qu'une seule fois (la première fois qu'elle est appelée avec la valeur par défaut ), l'initialisation est exécutée. La zone mémoire ouverte (on peut l'appeler la variable par défaut) n'a pas été modifiée, le résultat final en sortie est donc "[1, 2, 3, 5]".

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal