通过在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