Rumah > Soal Jawab > teks badan
Kini terdapat dua fail:
a.py:
x=1
from b import *
printx()
b.py:
def printx():
print(x)
Apabila memanggil $ python3 a.py
dari baris arahan, akan ada NameError Saya tidak faham di sini Apabila memanggil a.py secara langsung, bukankah x dianggap pembolehubah global? Mengikut peraturan LEGB, mengapa ia menjadi salah?
phpcn_u15822017-05-18 10:52:10
x hanya boleh dilihat dalam fail a
Mengimport fail a hanya menjadikan kaedah printx dalam fail kelihatan kepada fail a Anda boleh memanggilnya, dan ia tidak mengubah halimunan fail x kepada fail b. .