![](/img/trans.png)
[英]Making function variables from imported module available in iPython interactive namespace
[英]IPython interactive running using imported module
我有一个模块如下:
module1.py
Class bla():
code here
def main():
g1=bla()
if __name__ == '__main__':
main()
当我执行ipython module1.py
或进入IPython并import module1
,代码按预期运行。 但是,当我输入类似print g1
它表示g1
未定义,即使我在主程序中定义了g1
。 似乎代码运行主程序,然后以某种方式“退出”它只是留下我的ipython提示。 我想使用我在main函数中定义的变量...
我该怎么做呢?
您必须将g1
标记为全局:
def main():
global g1
g1 = bla()
通常,函数中定义的任何名称仅对函数是本地的。 您仍然需要从模块中导入名称,或将其作为模块的属性引用:
import module1
print module1.g1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.