了解@property

2024-05-13 03:35:25 发布

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

我正在学习属性,写这段代码就是为了看看它是如何工作的:

class Car:
    def __init__(self):
        self.cities = 0
        self.time = 0
        self.efficiency = None
    @property
    def efficiency(self):
        print('Calculating efficiency')
        self.efficiency = self.cities / self.time
        return self.efficiency
    @efficiency.setter
    def efficiency(self,input):
        self.efficiency = input

当我试图创建一个名为ejemplo(示例)的对象时,我得到了RecursionError: maximum recursion depth exceeded while calling a Python object错误。有人知道为什么吗

我就是这样创建ejemplo

ejemplo = Car()
print(ejemplo.cities)
print(ejemplo.time)
ejemplo.efficiency = 2

谢谢


Tags: 代码selfnoneinput属性timeinitdef