假设有这样一段代码:
def demo():
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print(e)
main()
现在希望在异常时不对demo函数内的代码做任何修改也可以获取到demo中a和b的值。
假设有这样一段代码:
def demo():
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print(e)
main()
现在希望在异常时不对demo函数内的代码做任何修改也可以获取到demo中a和b的值。
用全局变量 global
可以实现
a = b = 0
def demo():
global a, b
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print 'a: %d, b: %d' % (a, b)
print(e)
main()
函数外加引用, 这是变量作用域的知识
a = None
b = None
def demo():
global a, b
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print(e)
main()
print a
print b
或者把a,b放一个字典变量里, 这样就不需要global了
g = {"a":0,"b":0}
def demo():
g['a'] = 1;
g['b'] = 0
c = g['a'] / g['b']
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
参考了这个问题,然后解决了。
嵌套函数获取调用函数