【发布时间】:2019-07-25 21:33:12
【问题描述】:
基于Disable global variable lookup in Python(以及我自己的答案),我在使用带有可选参数的函数时遇到了问题,例如在这个最小示例中:
import types
def noglobal(f):
return types.FunctionType(f.__code__, {})
@noglobal
def myFunction(x=0):
pass
myFunction()
基本上,它会像这样失败:
Traceback (most recent call last):
File "SetTagValue.py", line 10, in <module>
myFunction()
TypeError: myFunction() missing 1 required positional argument: 'x'
为什么x突然被当作必填参数了?
【问题讨论】:
标签: python optional-parameters globals