假设我有一个传递了一组选项的类。
例如:
class Thing(object):
def __init__(self, options):
self.name = options['name']
if options['material'] == 'organic':
self.living = options['living']
if self.living:
self.kingdom = options['kingdom']
else:
self.material = options['material']
因此,如果它是物质的和有机的,它将有一个额外的选项,指明它是否活着,如果它的生活,它也将有一个王国等。
假设我想在class Thing
中定义一个函数,例如:
def belongToKingdom(self):
print self.kingdom
但我只想在__init__
定义这样一个函数,如果在选项中传递了王国,否则会被忽略。完成此任务的正确方法是什么?
答案 0 :(得分:1)
class Thing(object):
def __init__(self, **options):
if options.get('living',None):
def belongToKingdom(self):
print(self.kingdom)
self.kingdom = options['kingdom']
self.belongToKingdom = belongToKingdom