我正在开发一个应用程序,对于第一个版本,我使用Jupyter笔记本作为最终用户界面。笔记本中的第二个单元格从我编写的模块中导入所有对象。第三个单元格就像一个配置文件;期望最终用户设置变量值。在后续单元格中,调用模块函数和/或实例方法,但无法“查找”在“配置”单元格中绑定的变量。
如何在模块函数调用中访问a
之类的变量?
答案 0 :(得分:1)
我认为你在python开发方面有很多经验,对吧?因此,您必须了解"配置"中定义的变量。单元格绑定到当前范围。它们肯定是全球变量,但是全球变量#34;是相对的。
我明白你想做什么。你想要定义像内置的东西。它可以在每个角落访问,无需任何特殊代码,例如" import"。
这不是一个好习惯,因为它会打破python的范围管理策略。更好的是你可以将参数传递给该函数。
如果你真的想这样做,你需要将你的" gloabl"(甚至超出普通的gloabl)变量绑定到__builtins__
。例如:
# a.py
import b
__builtins__.a = 5
b.test()
# b.py
def test():
print(a)
它可以工作。