cari

Rumah  >  Soal Jawab  >  teks badan

python - Masalah dengan skop pembolehubah dalam fail yang berbeza

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?

某草草某草草2749 hari yang lalu559

membalas semua(1)saya akan balas

  • phpcn_u1582

    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. .

    balas
    0
  • Batalbalas