簡體   English   中英

如何從另一個模塊python中的全局變量獲取值

[英]How to get value from global variable in another module python

我有一個文件說test1.py並且它具有變量var1 = ''並且在test1.py中的一種方法中,我正在將var1值更新為

global var1 
var1 = 'new_value'

我可以看到通過從test1.py另一種方法打印值來更新值。 現在,我還有另一個文件test2.py ,其中我將var1稱為var_new = test1.var1但是當我打印時,我仍然得到''。 我認為在套件開始時,它將初始化所有模塊。 但是,當我在test2.py中調用方法時,它在初始化時正在獲得價值嗎? 我如何獲得更新的價值? 所以var_new打印''

如果我使用get_var()方法,那么我將獲得更新的值。 所以我想我總是創建方法嗎?

我想我終於明白了這個問題,根據您的描述,您會有這樣的事情

test1.py

var1=""

def foo():
    global var1
    var1="new_valor"

def bar():
    print(var1)

test2.py

import test1
var_new=test1.var1
print(var_new)

如果是這樣,是的,您會得到一個空字符串,因為您沒有調用foo來修改var1,因此您必須先調用它或從test2進行修改,因為在加載時未調用foo ,因此var1保留了原來的值首先分配。

通過做這個:

var1 = test1.var1

您將test1.var1字符串的內容復制到var1中。 但是,如果稍后修改了test1.var1,則不會修改var1。

>>> var1="test"
>>> var2=var1
>>> var2+= "a"
>>> var2
'testa'
>>> var1
'test'

因此,如果要獲取test1.var1的值,則應始終將其拋出test1.var1訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM