Saya agak bingung tentang bagaimana variabel global bekerja. Saya punya proyek besar, dengan sekitar 50 file, dan saya perlu mendefinisikan variabel global untuk semua file itu.
Apa yang saya lakukan adalah mendefinisikannya dalam main.py
file proyek saya , sebagai berikut:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Saya mencoba untuk menggunakan myList
di subfile.py
, sebagai berikut
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Cara lain saya mencoba, tetapi tidak berhasil juga
# ../myproject/main.py
# Import globfile
import globfile
# Save myList into globfile
globfile.myList = []
# Import subfile
import subfile
# Do something
subfile.stuff()
print(globfile.myList[0])
Dan di dalam subfile.py
saya punya ini:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Tetapi sekali lagi, itu tidak berhasil. Bagaimana saya harus menerapkan ini? Saya mengerti bahwa itu tidak bisa berfungsi seperti itu, ketika dua file tidak benar-benar mengenal satu sama lain (well subfile tidak tahu utama), tapi saya tidak bisa memikirkan bagaimana melakukannya, tanpa menggunakan io tulisan atau acar, yang Saya tidak ingin melakukannya.