为什么Python属性不设置属性值

cos*_*sor 1 python setter properties

请考虑以下代码:

class Class:
    def __init__(self):
        self._value = False
    def GetValue(self):
        return self._value
    def SetValue(self, val):
        self._value = val
    Value = property(GetValue, SetValue)

c = Class()
print c._value, c.Value
False False
c.Value = True
print c._value, c.Value
False True
Run Code Online (Sandbox Code Playgroud)

为什么财产没有调用我的功能?(我在Windows上运行Python 2.6.5)

Joh*_*ooy 9

您需要使用新的样式类(从对象继承)才能使属性起作用

class Class(object):
    ...
Run Code Online (Sandbox Code Playgroud)