Exemple d'analyse de la façon d'implémenter des variables globales inter-fichiers en Python

小云云
Libérer: 2017-12-12 09:13:58
original
2689 Les gens l'ont consulté

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

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

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

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

Programme principal main.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
import a
import b
Copier après la connexion

Ensuite, exécutez le fichier du programme principal python main.py, et le résultat est cc : 90

Recommandations associées :

Maîtriser complètement Python

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!