インポートされたvarをファイル間で変更しようとしています。 FILE2値がまだ読み込んで、それを印刷する前に、FILE1でchange_stringを()の呼び出しにもかかわらずインポートされた変数の変更可能性
file1.py
string = 'data1'
def change_string():
global string
string = 'data2'
#this does not update string in file2
change_string()
file2.py
from file1 import string
#this prints initial value of string, regardless of change_string() function called in file1
print string
: 以下の例を参照してください 'DATA1を'。
私はここで何が欠けていますか?私は他の変数(dictsなどのコレクション)をimportステートメントで編集することができます。
change_string()
の後にprint string
と呼んだ場合は、data2
を印刷します。
私は何をしようとしていますか?文字列は不変オブジェクトである
私はテストの後に "data2"を得ました。 – stamaimer
Python 2または3 ??? – MaNKuR
@MaNKuRはPython 2でなければなりません。Python 3では 'print string'は許可されていません。 –