Pythonによるファイル間の変数の共有方法
ファイル間で変数を共有するには、Pythonでは次のような方法があります。
- 世界中で
# file1.py
x = 10
# file2.py
from file1 import x
def modify_x():
global x
x = 20
- モジュール化: 変数を独立したモジュール内で定義し、他のファイルからそのモジュールをインポートすることで、その変数を使用および変更できる。
# file1.py
x = 10
# file2.py
import file1
def modify_x():
file1.x = 20
- 関数の引数と戻り値を使う:変数を函数の引数として他のファイルの函数に受け渡し、戻り値で変更後の値を返却する。
# file1.py
def modify_x(x):
x = 20
return x
# file2.py
from file1 import modify_x
x = 10
x = modify_x(x)
同時に複数のファイルで同じグローバル変数を修正する場合、競合状態と予測できない挙動を引き起こす可能性があることに注意してください. このような状態を避けるには、共有変数のアクセスを保護するためにロックやその他の同期メカニズムの使用を検討してください.