我有一个类,在init方法中包含一堆非特定于该类的通用变量。我想创建另一个类来保存这些变量,然后让第一个类继承这些变量。
所以第二个类不是父类,而更像是一个模块类。
我怎么用python写这个?
谢谢。
Class A():
def __init__(self):
self.generic_variable1 = 'blah'
self.generic_variable2 = 'blah'
self.generic_variable3 = 'blah'
self.generic_variable4 = 'blah'
self.generic_variable5 = 'blah'
self.generic_variable6 = 'blah'
def generic_method1(self):
return 'blah'
def class_specific_method1(self):
pass
创建两个类后:
Class A():
def __init__(self):
pass
def class_specific_method1(self):
pass
Class B():
def __init__(self):
self.generic_variable1 = 'blah'
self.generic_variable2 = 'blah'
self.generic_variable3 = 'blah'
self.generic_variable4 = 'blah'
self.generic_variable5 = 'blah'
self.generic_variable6 = 'blah'
def generic_method1(self):
return 'blah'
类可以访问的模块级字典。
d = {'k':'v','q':'r','m':'n',...}
class F:
variables = d
def __init__(self,...)
或者也许是 collections.namedtuple 而不是字典来给你点访问 -instance.variables.attr
而不是 instance.variables[attr]` 。
如果您想要单独的属性:
d = {'k':'v','q':'r','m':'n'}
class F:
def __init__(self):
for attr,val in d.items():
setattr(self,attr,val)
或者在类之外设置属性
d = {'k':'v','q':'r','m':'n'}
class F:
def __init__(self):
pass
for k,v in d.items():
setattr(F,k,v)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句