Python: TypeError: 'float'对象不可调用

0 投票
1 回答
5692 浏览
提问于 2025-04-15 16:42

我正在尝试用这段代码把两个字符串连接在一起:

def __get_temp(self):
    return float(self.ask('RS'))

def __set_temp(self, temp):
    set = ('SS' + repr(temp))
    stat = self.ask(set)
    return self.check(stat)

temp = property(__get_temp, __set_temp)

连接好之后,我会通过一个串行总线用PyVisa发送信号。但是,当我尝试调用这个函数时,我得到了

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
chil.temp(13)
TypeError: 'float' object is not callable

我试着找了一些关于这个错误的解释,但没有一个能让我明白。有没有人知道发生了什么事?

1 个回答

7

看起来你想要设置一个叫做temp的属性,但实际上你做的事情是获取这个属性,然后试图把它当成一个函数来调用,并传入参数13。设置属性的正确写法是:

chil.temp = 13

撰写回答