Python如何Using Variable Explorer in Spyder to View Other Namespaces

 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()

在Variable Explorer里面可以看到:
这里写图片描述

但是如果是嵌套函数呢,内部的局部变量如何才能查看到呢?
歪歪了一下,这么搞吧,在嵌套函数里面也搞一个全局变量,把里面的变量都存进去,
输入:

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()

于是,再Variable Explorer里面可以看到:
这里写图片描述

可是还是有不爽的地方,因为如果嵌套函数内部的局部变量太多的话,那就极度占用内存,这也不太好吧,
可是咋办勒,,容我再想想

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值