相关疑难解决方法(0)

关于如何在python中使用属性功能的真实示例?

我对如何@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)

我认为,属性功能在某些情况下可能会有用.但当?有人可以给我一些现实世界的例子吗?

谢谢.

python oop properties python-decorators

133
推荐指数
9
解决办法
7万
查看次数

什么时候应该在模型类中使用@property?

在阅读文档时,很少有关于如何以及为何在类中使用 @property 的信息。我能找到的只有:

\n\n
\n

也称为 \xe2\x80\x9c 托管属性\xe2\x80\x9d,是 Python 自 2.2 版以来的一项功能。这是实现属性的一种巧妙方法,其用法类似于属性访问,但其实现使用方法调用。

\n
\n\n

当我在模型中有一个函数时,def get_absolute_url(self):我应该用 来装饰它@property吗?

\n\n
@property\ndef get_absolute_url(self):\n    pass\n
Run Code Online (Sandbox Code Playgroud)\n\n

def未装饰的和装饰过的有什么区别@property?我什么时候应该使用它,什么时候不应该使用它?

\n

django django-models

1
推荐指数
1
解决办法
3026
查看次数