gpt4 book ai didi

python - 当参数数量不正确时,如何让 __init__() 引发更有用的异常而不是 TypeError?

转载 作者:太空狗 更新时间:2023-10-29 22:25:26 26 4
gpt4 key购买 nike

我有一个带有 init 的类,它接受很多参数——有些是必需的,有些不是。

如果未提供所需参数之一,您可能会收到 TypeError,并显示一条无用消息,例如“至少需要 10 个参数(给定 14 个)”。

我想要一个自定义的 TypeError 子类,它实际上会通知用户缺少哪些参数。

最佳答案

如果你想使用 kwargs,你可以在 init 中设置一个必需的参数列表,然后检查是否所有必需的 kwargs 都存在。查看以下示例。

class Something():
def __init__(self, **kwargs):
required_args = ['arg_1', 'arg_2']

for arg in required_args:
if arg not in kwargs:
raise TypeError("Argument %s is required" % arg)

obj = Something(arg_1=77, arg_3=2)

关于python - 当参数数量不正确时,如何让 __init__() 引发更有用的异常而不是 TypeError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37980612/

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