python属性d

2024-05-13 22:46:16 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Real world example about how to use property feature in python?

我有一个关于装饰器的问题,我在下面的代码中看到过。有没有人能友好地完全解释为什么有人会使用@property装饰器?我知道@property等同于isActive = property(isActive),但是method属性实际上对它的参数做了什么?如果我从InputCell类调用isActive方法,实际会发生什么?提前谢谢。

class InputCell(object):
    def __init__(self, ix, iy, inputData):
        self.ix = ix
        self.iy = iy
        self.InputData = inputData

    @property
    def isActive(self):
        return self.InputData[self.ix][self.iy]

Tags: selfworldexampledef装饰propertyrealix
1条回答
网友
1楼 · 发布于 2024-05-13 22:46:16

只是语法上的糖。它允许方法调用看起来像变量访问或赋值。

一种有用的方法是,如果您想将以前的简单变量更改为实际计算或用其他代码验证的变量。如果将其设置为属性,则可以在不破坏任何现有代码的情况下执行此操作。另一种方法是缓存、延迟初始化等对象属性。

相关问题 更多 >