Bonjour vouloir savoir s'il existe un moyen de déclarer une variable pouvant être modifiée à partir de n'importe quelle fonction sans avoir à utiliser le mot clé global, car j'ai beaucoup de fonctions modifiant une certaine variable et la moitié du temps que j'ai oublié de mettre global myvar code> lors de la création d'une nouvelle fonction qui modifie myvar. p>
3 Réponses :
Oui, il est possible de déclarer une variable globale sans le mot clé global. La portée de la variable est déterminée par l'endroit où elle est déclarée dans le code. Pour déclarer une nouvelle variable globale, déclarez-le simplement en dehors de la portée de toutes les autres fonctions. Pour plus d'aide sur la portée et les variables globales et locales à Python, consultez HTTPS: // www.geeksforgeeks.org/global-local-variables-python/ p>
Oui mais aussi loin que je comprenne, si je déclare une variable en dehors de ma fonction, je peux accéder à sa valeur de la fonction, mais je ne peux pas la modifier.
Vous pouvez utiliser Classes . Lors de la création d'un nouvel objet, vous pouvez initialiser les variables et les utiliser dans n'importe quelle méthode de cet objet. p>
Ces variables ont auto. code> préfixe. p>
Oui mais avec des cours, je ne peux pas utiliser les variables d'une classe en dehors de la classe
@ Rémicouturier: Vous ne pouvez pas? Pourquoi pas?
Oh oui tu as raison, ça marche (et ça marche aussi avec des dictionnaires)
Oui c'est le comportement par défaut de Python. Mais, il y a des nuances que vous devez être au courant de: Lorsque vous souhaitez manipuler des variables non-conteneurs dans une fonction, vous pouvez le faire de cette façon: P> Créer un fichier globals.py avec contenu: p> dans votre fichier principal / core: p> alloue c'est mauvais pratique et vous ne devez pas utiliser les globaux inflationnistes p> p>
Ce que vous décrivez est une variable globale.