带有可选参数的适当方法签名

时间:2018-12-14 03:52:51

标签: python python-3.x

假设我有一个带有如下构造函数的类

class SomeClass():

  def __init__(self, aaa, bbb, ccc)

如果只需要aaa和bbb或ccc,什么是最合适的方法签名?

在这种情况下,以下方法签名是否合适?

def __init__(self, aaa=None, bbb=None, ccc=None)

1 个答案:

答案 0 :(得分:1)

我已经看到您的问题中显示的签名已在NumPy这样的流行Python库中使用,但是它们的用法有所不同:不需要精确地个选项{{1} },aaabbb,该特定功能支持每个自定义参数,彼此独立。

对于您的情况,我可能会这样做:

ccc

,用法可能类似于以下任何一种用法:

class SomeClass():

    def __init__(self, option, **kwargs):
        # implementation here