导入的变量更新未反映在父模块中
imported variable update is not reflecting in the parent module
我有两个模块,主模块和更新模块。
在主要部分,我声明了一个引用字典和每个值的列表。在更新中我更新了年龄,但我没有看到更新再次反映在主模块中。
main module
candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}
for s in candidates:
portfolio[s] = [0,0] # some value which i use for other calculations
update module
from main import *
portfolio['goutham'][0] = 32
现在当我回到主页面并打印投资组合时['goutham']。它仍然将值显示为 [0,0]
例如当我添加 运行 run.py
时,这应该可以打印 {'goutham': [32, 0], 'teja': [0, 0]}
:
main.py
candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}
portfolio = {candidate:[0, 0] for candidate in candidates.keys()}
update.py
from main import *
portfolio['goutham'][0] = 32
run.py
import update
from main import *
print(portfolio)
作为旁注:现在您的模块中有在导入模块时正在执行的模块。如果这是您的主要逻辑,请考虑将其放入某些 main()
函数中,而不是依赖于导入时的隐式执行。
我有两个模块,主模块和更新模块。
在主要部分,我声明了一个引用字典和每个值的列表。在更新中我更新了年龄,但我没有看到更新再次反映在主模块中。
main module
candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}
for s in candidates:
portfolio[s] = [0,0] # some value which i use for other calculations
update module
from main import *
portfolio['goutham'][0] = 32
现在当我回到主页面并打印投资组合时['goutham']。它仍然将值显示为 [0,0]
例如当我添加 运行 run.py
时,这应该可以打印 {'goutham': [32, 0], 'teja': [0, 0]}
:
main.py
candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}
portfolio = {candidate:[0, 0] for candidate in candidates.keys()}
update.py
from main import *
portfolio['goutham'][0] = 32
run.py
import update
from main import *
print(portfolio)
作为旁注:现在您的模块中有在导入模块时正在执行的模块。如果这是您的主要逻辑,请考虑将其放入某些 main()
函数中,而不是依赖于导入时的隐式执行。