为什么这是语法错误?做这件事的合适方法是什么?
>>> def f(*args, option=None):
File "<stdin>", line 1
def f(*args, option=None):
^
SyntaxError: invalid syntax
Python 2没有仅关键字参数支持。如果您确实希望Python 2函数具有只能通过关键字传递的参数,则需要自己接受**kwargs
并验证关键字参数:
def my_max(*args, **kwargs):
'''Emulate the built-in max, including the keyword-only key argument.'''
key = kwargs.pop('key', None)
if kwargs:
raise TypeError('my_max() got an unexpected keyword argument {!r}'.format(next(iter(kwargs))))
if key is None:
# max doesn't support key=None
return max(*args)
else:
return max(*args, key=key)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句