我是 Python 新手。我正在尝试学习 Python 中的 @property 装饰器。这是我的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
class C(object):
"""docstring for C"""
def __init__(self, foo):
self._foo = foo
@property
def foo(self):
return self._foo
@foo.setter
def foo(self, value):
self._foo = value
return self.foo
c = C(1)
print c.foo
print c.foo(2)
在上面的代码中首先print
给了我“1”。当我尝试将值设置为 foo 时,会出现以下错误:
Traceback (most recent call last):
File "sub.py", line 23, in <module>
print c.foo(2)
TypeError: 'int' object is not callable
如何解决这个错误。我的代码有什么问题?