Python真是黑科技啊,居然在程序运行中不能在Spyder的Variable Explorer里面查看变量的具体属性,让伦家甚是想念MATLAB的workspace,忍不住要叨叨Spyder几句,你说你既然都仿了MATLAB的工作界面,咋就不能地道点,仿的到位一点呢?不开森~
输入:
def main():
a = 2
b = 4
c = a + b
Variable Explorer里面是空的,啥也没有。。。
那怎么办?需要定义一个全局变量啊,注:inspect.currentframe().f_locals 是获取当前的栈帧;
输入:
import inspect
local_vars = {}
def main():
global local_vars
a = 2
b = 4
c = a+b
local_vars = inspect.currentframe().f_locals
return c
main()
但是如果是嵌套函数呢,内部的局部变量如何才能查看到呢?
歪歪了一下,这么搞吧,在嵌套函数里面也搞一个全局变量,把里面的变量都存进去,
输入:
import inspect
local_vars = {}
def main():
global local_vars
a = 2
b = 4
c = a+b
def ve(a):
global s
m = 1
d = m+a
s = inspect.currentframe().f_locals
print s
return d
ve(5)
local_vars = inspect.currentframe().f_locals
return c
main()
可是还是有不爽的地方,因为如果嵌套函数内部的局部变量太多的话,那就极度占用内存,这也不太好吧,
可是咋办勒,,容我再想想