2009-12-05 17 views
0

Je suis en train de se joindre à 2 chaînes en utilisant ce code:Python: TypeError: objet 'float' est pas appelable

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) 

Une fois ensemble, je vous envoie alors un signal sur un bus série en utilisant PyVisa. Cependant, quand je tente d'appeler la fonction, je reçois

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

J'ai essayé de regarder autour d'explication de cette erreur, mais aucun d'entre eux aucun sens. Quelqu'un sait ce qu'il se passe?

+0

Cette ligne: 'set = ('SS' + rééd (temp))' va causer de la douleur ... vous surchargeons un type intégré. (Bien que ce ne soit pas la cause de votre problème immédiat.) – retracile

Répondre

7

Il semble que vous essayez de régler la température de la propriété, mais ce que vous faites est en réalité obtenir la propriété puis essayer de l'appeler en fonction avec le paramètre 13. La syntaxe de paramètre est:

chil.temp = 13 
Questions connexes