我使用python 2.5,我想知道当Platform是python2.5或python2.6时如何更改下一个代码
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
a=C()
print a.x#error
感谢
谢谢,亚历克斯,我认为你的例子中的属性必须是3个参数
但是,我看过一个代码,其中'property'只使用了1个论证,为什么,它可以工作
class SortingMiddleware(object):
def process_request(self, request):
request.__class__.field = property(get_field)
request.__class__.direction = property(get_direction)
答案 0 :(得分:4)
Python 2.5不支持.setter
的{{1}}和.deleter
子装饰器;它们是在Python 2.6中引入的。
要处理这两个版本,您可以使用以下代码进行编码:
property