J'ai essayé diverses choses avec Python. Jusqu'à présent, je n'ai utilisé que des langues typées statiquement Au début, j'étais assez confus, mais je pense que je suis devenu capable d'écrire quelque chose au niveau de l'outil ...
De plus, j'ai eu du mal avec la portée des variables. Différences entre les autres variables globales, les variables de classe et les variables d'instance.
test_1.py
#!/usr/bin/env python
# coding:UTF-8
#Variables globales
global_var = "global"
class Test1(object):
#Variable de classe
class_var = "class"
def __init__(self):
#Variable d'instance
self.instance_var = "instance"
Les variables globales sont des variables manipulées dans des modules (fichiers?) Tout en étant appelées globales. L'appel est OK avec uniquement le nom de la variable, mais lors de la modification du contenu, la déclaration suivante est requise dans la fonction
test_1.py
def global_var_test(self):
#Déclaration globale
global gloval_var
#Ensuite, vous pouvez modifier le contenu
global_var = "change"
Au fait, je ne sais pas comment l'appeler depuis un autre module ... Eh bien, je ne pense pas que ce soit comme appeler depuis un autre module.
Je pense que c'est une bonne idée d'appeler les variables de classe comme suit.
test_1.py
def get_class_var(self):
return Test1.class_var
Si vous utilisez self.class_var, il sera appelé comme une variable de classe lorsque vous l'appelez, Après la substitution, la variable d'instance est initialisée. (S'il s'agit d'une variable d'instance une fois, la variable d'instance sera appelée la prochaine fois qu'elle sera appelée)
Par conséquent, il est préférable de fixer le format du nom de l'instance.Nom de la variable uniquement aux variables d'instance pour moi plus tard.
Recommended Posts