是否有与C宏类似的功能,可让您以内联方式重用代码,而无需为该代码段创建单独的作用域?
例如:
a=3
def foo():
a=4
foo()
print a
将打印3,但是我希望它打印4。我知道涉及类或全局dict之类的对象的解决方案,但是我正在寻找一种更原始的解决方案(例如,函数装饰器),该解决方案将让我直接在调用者的范围内进行更改。
非常感谢
在这种情况下,只需使用global
关键字:
a=3
def foo():
global a
a=4
foo()
print (a)