假设我有一个类,其构造函数如下所示
class SomeClass():
def __init__(self, aaa, bbb, ccc)
如果只需要 aaa 和 bbb 或 ccc,最合适的方法签名是什么?
下面的方法签名是否适用于这种情况?
def __init__(self, aaa=None, bbb=None, ccc=None)
最佳答案
我已经看到您问题中显示的签名在流行的 Python 库中使用,例如 NumPy , 但它们的用法不同:不是要求恰好是一个选项aaa
、bbb
、ccc
,而是特定函数支持指定或未指定的每个参数,彼此独立。
对于你的情况,我可能会这样做:
class SomeClass():
def __init__(self, option, **kwargs):
# implementation here
用法可能类似于以下任何一种:
SomeClass('aaa')
SomeClass('bbb', some_b_specific_option='some other value')
SomeClass(option='ccc')
关于python - 带有可选参数的适当方法签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53773287/