gpt4 book ai didi

python - 当函数调用在 Python 中缺少参数时如何引发异常

转载 作者:行者123 更新时间:2023-12-05 08:54:32 26 4
gpt4 key购买 nike

如果我有这个功能

def my_function(a,b,c):

当用户调用该函数时,他们会省略最后一个参数

print(my_function(a,b))

我应该抛出什么异常?

最佳答案

正如其他人所提到的,如果使用不正确数量的静态声明参数调用函数,Python 将引发 TypeError。似乎没有实际的理由来覆盖此行为以引发您自己的自定义错误消息,因为 Python 的:

TypeError: f() takes 2 positional arguments but 3 were given

很有说服力。

但是,如果您想这样做,并且可能有选择地允许第二个参数,您可以使用 *args

def my_function(a, *args):
b = None
if len(args) > 1:
raise TypeError("More than 2 arguments not allowed.")
elif args:
b = args[0]

# do something with a and possibly b.

编辑:考虑到 OP 评论中的新附加细节,建议默认关键字参数的另一个答案更合适。

关于python - 当函数调用在 Python 中缺少参数时如何引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49461443/

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