尝试了解我开始使用@property的类的私有/公共属性。当我定义这样一个类时,我不明白为什么:
class Number(object):
@property
def num1(self):
return self._num1
@num1.setter
def num1(self, i):
if i < 5:
raise ValueError("Small number!")
self._num1 = i
当我使用这样的类创建一个对象并为var num1设置值时:
def testNumber():
number = Number()
number.num1 = 22
number._num1=2
print number._num1
print number.num1
这将为num1和_num1输出2,避免为num1设置@property。现在,如果我将num1设置为低于5的值,则引发异常。这怎么对Pyhton有用? (无需补充说我是Python新手)