recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Problème de portée variable dans différents fichiers

Il y a maintenant deux fichiers :

a.py:

x=1
from b import *
printx()
b.py:

def printx():
    print(x)

Lors de l'appel de $ python3 a.py depuis la ligne de commande, il y aura une NameError. Je ne comprends pas ici Lorsque vous appelez directement a.py, x n'est-il pas considéré comme une variable globale ? D'après les règles du LEGB, pourquoi ça se passe mal ?

某草草某草草2749 Il y a quelques jours553

répondre à tous(1)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-18 10:52:10

    x n'est visible que dans le fichier a
    L'importation du fichier a rend uniquement la méthode printx dans le fichier visible pour le fichier a. Vous pouvez l'appeler, et cela ne change pas l'invisibilité du fichier x en fichier b. .

    répondre
    0
  • Annulerrépondre