【发布时间】:2017-08-08 22:57:34
【问题描述】:
我有一个数字属性。我想要一个该值减去 1 的变量:
class temp_conn:
def __init__(self):
self._t = 0
@property
def t(self):
return self._t
@t.setter
def t(self,value):
self._t = value
hist = temp_conn.t - 1
当我这样做时,它告诉我这是一个非法的属性操作数和int,我无法将属性转换为int。如何获得temp_conn.t - 1 的等价物?
【问题讨论】:
-
你把参数命名为和底层字段一样?
-
你必须创建一个类的实例!
-
temp_conn.t是temp_conn类的property object(Python 描述符)。要使其发挥作用,必须使用该类的 instance 而不是类本身来调用它。
标签: python properties type-conversion