【发布时间】:2016-04-02 03:45:34
【问题描述】:
我有一个类有这样的构造函数:
class MyClass:
def __init__(self, options):
self.options = options
.....
有时我通过传递options 来启动此类的一个实例,例如:
parser = argparse.ArgumentParser(description='something')
parser.add_argument('-v', '--victor', dest='vic')
options = parser.parse_args()
x = MyClass(options)
这很好用,但是,在某些情况下不会传递任何选项,因此对于这些情况,我在MyClass 中创建了一个方法,它将创建像这样的默认选项。
class MyClass:
def __init__(self, options):
self.options = options
def create_default_parser(self):
parser = argparse.ArgumentParser(description='something')
parser.add_argument('-v', '--victor', dest='vic', default="winning")
options = parser.parse_args()
self.options = options
问题
当我不想传递任何options 并使用create_default_parser 时,我应该如何启动此类的实例?
理想情况下,我会创建另一个不接受任何参数的构造函数,并在该构造函数中调用create_default_parser,如下所示:
def __init__(self):
self.create_default_parser()
【问题讨论】:
标签: python architecture