对象不可调用

时间:2016-10-08 15:31:39

标签: python python-2.7 odoo-8

我做了这个条件:

if ((liste_mois[0]==3) or (liste_mois[0]==6) (liste_mois[0]==9) or (liste_mois[0]==12))

我得到:TypeError:'bool'对象不可调用

2 个答案:

答案 0 :(得分:1)

你错过了“或”之间。

答案 1 :(得分:1)

你有:

  

TypeError:'bool'对象不可调用

只是因为你正在做这样的事情:

(liste_mois[0]==6) (liste_mois[0]==9)

可以表示为:

(True) (False)

进一步:

(True)()

所以在你的语句中你将布尔值(liste_mois[0]==6)视为一个函数,因为你试图调用它。并且因为布尔值不可调用,所以这就是你看到这个错误的原因。

(liste_mois[0]==6) (liste_mois[0]==9)的类似示例可能是:

def something():
    pass

(something)() # <-- this

因此,解决方案是将or置于if条件中,以便:

if ((liste_mois[0]==3) or (liste_mois[0]==6) or (liste_mois[0]==9) or (liste_mois[0]==12))

我认为这就是你想要的。