Python:类私有属性

时间:2015-09-19 19:45:06

标签: python class properties raise

尝试了解我开始使用@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新手)

0 个答案:

没有答案