gpt4 book ai didi

python - 没有默认值的命名参数?

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:26 32 4
gpt4 key购买 nike

我知道我可以创建一个命名参数化 python 函数,例如

def t(a=None, b=None):
return a+b

然后我可以调用

 t(b=2, a=5)

但是,如果 ab 都不是可选的,那么我需要在运行时检查函数,例如

def t(a=None, b=None):
if a is not None and b is not None:
return a+b
else:
raise Exception('Missing a or b')

是否可以在编译时检查并尽快失败?

例如

t(a=3) # raise error

最佳答案

如果参数不是可选的,不要使用默认值。

您仍然可以在调用中将这些参数用作命名参数; Python 函数中的所有 参数都命名为:

def t(a, b):
return a+b

t(a=3, b=4)

请注意,传入错误数量的参数始终是运行时检查,而不是编译时检查。作为一种动态语言,不可能在编译时知道调用它时实际对象 t 是什么。

关于python - 没有默认值的命名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40703006/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com