Maison >développement back-end >Tutoriel Python >Comment puis-je partager des variables globales entre des fichiers Python sans utiliser « pickle » ou « io » ?

Comment puis-je partager des variables globales entre des fichiers Python sans utiliser « pickle » ou « io » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-25 19:03:10165parcourir

How Can I Share Global Variables Between Python Files Without Using `pickle` or `io`?

Utilisation de variables globales entre fichiers sans pickle ni écriture io

Les variables globales fournissent un mécanisme pratique pour partager des données entre plusieurs parties d'un programme. Cependant, accéder aux variables globales définies dans un fichier à partir d'un autre fichier peut être difficile.

Considérez le scénario suivant : Vous avez un projet avec plusieurs fichiers et vous souhaitez définir des variables globales accessibles à tous. .

Méthode 1 : accès indirect

La difficulté liée à l'utilisation de variables globales dans les fichiers réside dans l'isolation des modules. Les modules en Python sont exécutés indépendamment, donc définir une variable globale dans un module ne la rend pas automatiquement disponible pour les autres modules.

Pour résoudre ce problème, envisagez de définir les variables globales dans un fichier séparé, tel que settings.py . Ce fichier sera chargé d'initialiser et de fournir l'accès aux variables globales.

# settings.py
def init():
    global myList
    myList = []

# main.py
import settings
settings.init()  # Initialize the global variables
import subfile  # Import the subfile that needs access to the globals

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")  # Access the global variable

Méthode 2 : accès direct

Une autre méthode consiste à utiliser un attribut de module pour déclarer les variables globales. Cela expose essentiellement les variables en tant qu'attributs du module.

# settings.py
myList = []

# main.py
import settings
import subfile

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")

Les deux méthodes vous permettent d'accéder à des variables globales sur plusieurs fichiers, garantissant ainsi la cohérence des données dans tout votre programme.

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!

Déclaration:
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