我有一个python类,在这个类中,很少有参数发送给构造函数,如下所示
class Test(object):
def __init__(self, a, b):
self.a = a
if b<10:
self.a = a*2
我知道,构造函数只是用来初始化变量的,构造函数内部不应该有逻辑。但是,如果不是这样的话,我怎么能用“b”变量来设置基于逻辑的“a”变量的值呢。我试着利用财产。下面是我的代码
class Test(object):
def __init__(self, a, b):
self.a = a
self.b = b
@property
def a(self):
self._a
@a.setter
def a(self, value):
if self.b < 10:
self._a = value*2
else:
self._a = value
但,问题是,在使用构造函数初始化时,并没有调用setter。那么,如何解决修改构造函数中少数变量的默认设置的问题呢
目前没有回答
相关问题 更多 >
编程相关推荐