Joh*_*eer 0 python constructor properties
我有一个带有构造函数和几个属性的类
class Foo(object):
def __init__(self, value1):
self._value1 = value1
@property
def value1(self):
return self._value1
@property.setter
def value1(self, value):
assert value == 1
self._value1 = value
Run Code Online (Sandbox Code Playgroud)
现在,当我在创建对象时设置 value1 时,不使用 setter。我注意到这一点是因为在输入错误的值时没有调用断言。
如何使构造函数中设置的值使用 setter?
您通过设置底层变量而不是使用属性来显式绕过 setter。去掉下划线。
def __init__(self, value1):
self.value1 = value1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1294 次 |
| 最近记录: |