python - 如何获取嵌套函数中的值
问题描述
假设有这样一段代码:
def demo(): a = 1 b = 0 c = a / bdef main():try: demo()except Exception as e: print(e)main()
现在希望在异常时不对demo函数内的代码做任何修改也可以获取到demo中a和b的值。
问题解答
回答1:参考了这个问题,然后解决了。嵌套函数获取调用函数
回答2:用全局变量 global 可以实现
a = b = 0def demo(): global a, b a = 1 b = 0 c = a / bdef main():try: demo()except Exception as e: print ’a: %d, b: %d’ % (a, b) print(e)main()回答3:
函数外加引用, 这是变量作用域的知识
a = Noneb = Nonedef demo(): global a, b a = 1 b = 0 c = a / bdef main(): try:demo() except Exception as e:print(e)main()print aprint b
或者把a,b放一个字典变量里, 这样就不需要global了
g = {'a':0,'b':0}def demo(): g[’a’] = 1; g[’b’] = 0 c = g[’a’] / g[’b’]
相关文章:
1. css - chrome浏览器input记录上次cookie信息后,有个黄色背景~如何去除!2. docker容器呢SSH为什么连不通呢?3. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?4. docker网络端口映射,没有方便点的操作方法么?5. css - ul ol前边的标记如何调整样式呢6. android - 哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点7. docker绑定了nginx端口 外部访问不到8. docker - 如何修改运行中容器的配置9. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?10. docker api 开发的端口怎么获取?

网公网安备