私は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
このエラーを解決する方法。私のコードは何が間違っていますか?