私のメインクラスでは、config.pyという別のファイルで定義されているグローバル変数ADDRESSを使用します。 config.pyで関数を呼び出すことで、私のメインクラス内からADDRESSの値を変更したいと思います。Python:別のファイルからグローバル変数を変更する
私は私のメインクラスで:私は、次のしている私の設定ファイルで
from config import ADDRESS, change_address
change_address("192.168.10.100")
print("new address " + ADDRESS)
:
ADDRESS = "0.0.0.0"
def change_address(address):
global ADDRESS
ADDRESS = address
print("changed address to: " + ADDRESS)
私の設定ファイルのprint文は正しく192.168.10.100の新しいアドレスを出力します。 しかし、私のメインクラスのprintステートメントは0.0.0.0を出力します。 私はここで何が欠けていますか?
あなた 'import'はconfigに' ADDRESS'変数が参照する文字列に新しいローカル変数 'ADDRESS'をバインドstackexchangeの記事を読むことをお勧めします。 'change_address()'を呼ぶと、configの 'ADDRESS'変数が別の文字列を参照するようになりました。独自のローカル変数は引き続き元の文字列を参照します。 – quamrana