如何在Python中使用不带引号的仅关键字函数args



通过在def.中指定默认值,可以很容易地在函数中创建可选参数

例如sorted([1,3,2],reverse=True)

如果我定义这个函数,我可能会说

def sorted(l:list, reverse:bool=False)

有没有什么方法可以定义函数的参数,这样我就可以指定没有值的关键字?只要简单地提到这个关键词就可以了。如果有的话,我可以定义一个接受这个的函数

sorted([1,3,2],reverse)

我尝试使用**kwargs,但显然,它只接受包含值的关键字。

最接近我想要的是使用Enum

import enum
class SortDirection(enum.Enum):
REGULAR = None
REVERSE = 2
def sorted(l:list, reverse:SortDirection=None):
print(reverse)
sorted([], SortDirection.REVERSE)

所以上面的程序输出

SortDirection.REVERSE

最新更新