我对如何@property在Python中使用感兴趣.我已经阅读了python文档和那里的例子,在我看来,它只是一个玩具代码:
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
Run Code Online (Sandbox Code Playgroud)
我不知道从包装_x填充属性装饰器可以获得什么好处.为什么不实施为:
class C(object):
def __init__(self):
self.x = None
Run Code Online (Sandbox Code Playgroud)
我认为,属性功能在某些情况下可能会有用.但当?有人可以给我一些现实世界的例子吗?
谢谢.
在阅读文档时,很少有关于如何以及为何在类中使用 @property 的信息。我能找到的只有:
\n\n\n\n\n也称为 \xe2\x80\x9c 托管属性\xe2\x80\x9d,是 Python 自 2.2 版以来的一项功能。这是实现属性的一种巧妙方法,其用法类似于属性访问,但其实现使用方法调用。
\n
当我在模型中有一个函数时,def get_absolute_url(self):我应该用 来装饰它@property吗?
@property\ndef get_absolute_url(self):\n pass\nRun Code Online (Sandbox Code Playgroud)\n\ndef未装饰的和装饰过的有什么区别@property?我什么时候应该使用它,什么时候不应该使用它?