我试图寻找一种简单的方法来重新获得类似MATLAB的功能:当我运行脚本时,我希望ipython维护我的函数的命名空间.
我有一个main函数,然后我有一个函数sim_loop(),它有我正在尝试调试的代码.sim_loop()有一个大型数组,我希望能够在我的脚本运行后显示.我无法使用该功能(我认为它是"交互命名空间").
我必须pdb工作,但如果我退出pdb并想要检查变量我必须再次运行它(更不用说,没有自动完成和其他功能).我已经在我的脚本中嵌入了一个IPython shell,但是,这并没有解决我的问题,因为我想一遍又一遍地无缝地执行脚本并不断检查我的第二个函数内的变量(不是main()).
为了澄清 我希望能够在脚本从ipython中运行后访问我脚本的子例程的范围.
即:我开始ipython.然后我输入"run script.py".它运行和工作完美.我希望能够检查范围内的变量"dummy":main-> sim_loop-> dummy
我希望能够检查它,然后使用"run script.py"再次运行我的脚本,然后再次检查"dummy".
我尝试:
[True,True,False] and [True,True,True]
Run Code Online (Sandbox Code Playgroud)
得到[真,真如此]
但
[True,True,True] and [True,True,False]
Run Code Online (Sandbox Code Playgroud)
给
[True,True,False]
Run Code Online (Sandbox Code Playgroud)
不太确定为什么它会给出那些奇怪的结果,即使在看了一些其他的python布尔比较问题之后.整数也是这样(替换True - > 1和False - > 0,结果相同).我错过了什么?我显然想要
[True,True,False] and [True,True,True]
Run Code Online (Sandbox Code Playgroud)
评估
[True,True,False]
Run Code Online (Sandbox Code Playgroud)