Lorsque nous écrivons des applications en Python, nous rencontrons parfois des situations où la même variable globale est transmise entre plusieurs fichiers. Ainsi, l'article suivant vous présente principalement la méthode d'implémentation des variables globales inter-fichiers en Python. Les amis dans le besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.
En langage C, puisque les variables doivent d'abord être déclarées puis utilisées, on peut clairement savoir si la variable utilisée est globale ou locale, par exemple :
int a = 5; void test(void) { a = 1; // 没有先声明,所以用的是全局的变量a } void test1(void) { int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a } void main(void) { printf("before: a = %d\n", a); test(); printf("after test: a = %d\n", a); test1(); printf("after test1: a = %d\n", a); }
En python, les variables n'ont pas besoin d'être déclarées au préalable, elles peuvent être utilisées directement.
Implémentation de variables globales inter-fichiers en Python
Le mot-clé global en Python peut définir une variable comme variable globale, mais c'est limité à un appel de variables globales dans le module (fichier py), et l'utilisation à nouveau de global x dans un autre fichier py n'est pas accessible, car il n'y a pas de variable appelée x dans ce module py, donc une erreur non définie sera signalée.
En s'appuyant sur l'idée du mot-clé global, puisqu'il peut prendre effet dans un fichier, on peut alors simplement définir un "module de gestion des variables globales" spécifiquement pour les variables globales
Variable globale module de gestion globalvar.py
#!/usr/bin/python # -*- coding: utf-8 -*- def _init(): global _global_dict _global_dict = {} def set_value(name, value): _global_dict[name] = value def get_value(name, defValue=None): try: return _global_dict[name] except KeyError: return defValue
Définir les variables globales a.py
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import globalvar as gl gl._init() gl.set_value('name', 'cc') gl.set_value('score', 90)
Obtenir les variables globales b.py
#!/usr/bin/python # -*- coding: utf-8 -*- import globalvar as gl name = gl.get_value('name') score = gl.get_value('score') print("%s: %s" % (name, score))
Programme principal main.py
#!/usr/bin/python # -*- coding: utf-8 -*- import a import b
Ensuite, exécutez le fichier du programme principal python main.py, et le résultat est cc : 90
Recommandations associées :
Implémentation Python d'un exemple de code d'algorithme de correspondance de chaînes
Analyse des méthodes d'implémentation des types intégrés étendus Python
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!