Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Berkongsi Pembolehubah Global Secara Berkesan Antara Fail Python Berbilang?
Dalam pembangunan perisian, mentakrifkan pembolehubah global merentas berbilang fail boleh menunjukkan kerumitan tertentu. Untuk menangani cabaran ini, adalah penting untuk memahami konsep dan had pembolehubah global.
Pembolehubah global ialah pembolehubah yang diisytiharkan di luar skop mana-mana fungsi atau kelas, biasanya pada peringkat modul. Mereka boleh diakses dari mana-mana sahaja dalam modul. Walau bagaimanapun, ini boleh membawa kepada isu yang berpotensi apabila berkongsi pembolehubah global antara berbilang fail.
Pertimbangkan contoh berikut:
# main.py global myList myList = [] import subfile subfile.stuff() print(myList[0])
# subfile.py def stuff(): globals()["myList"].append("hey")
Kod ini cuba menggunakan pembolehubah global myList yang ditakrifkan dalam main.py dalam subfile.py. Walau bagaimanapun, pendekatan ini gagal kerana subfile.py tidak mempunyai pengetahuan tentang myList. Untuk menyelesaikannya, kami memerlukan pendekatan alternatif.
Dalam Python, penyelesaian yang lebih bersih ialah memusatkan pembolehubah global dalam modul berasingan:
# settings.py def init(): global myList myList = []
Seterusnya, import dan mulakan pembolehubah global daripada fail lain:
# subfile.py import settings def stuff(): settings.myList.append('hey')
# main.py import settings settings.init() # Initialize global var once subfile.stuff() # Do stuff with global var print settings.myList[0] # Check the result
Dengan mengasingkan definisi pembolehubah global dan permulaan dalam settings.py, kami memastikan pembolehubah global hanya dimulakan sekali dan boleh diakses daripada semua modul lain. Pendekatan ini menyediakan cara berstruktur dan boleh diselenggara untuk berkongsi pembolehubah global merentas berbilang fail.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berkongsi Pembolehubah Global Secara Berkesan Antara Fail Python Berbilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!