Python 我如何修复我的代码它不调用浮点?

Python 我如何修复我的代码它不调用浮点?,python,Python,我试图计算贝叶斯公式的空间度,但我得到了以下错误: error TypeError: 'float' object is not callable 这是我的密码: spamicities = sorted( map(self.classify_word(body) ,re.sub("[^\w]", " ", body).split()), key=lambda x: abs(x-0.5), reverse=True)[:38] 这是正确的代码: spamicit

我试图计算贝叶斯公式的空间度,但我得到了以下错误:

 error TypeError: 'float' object is not callable
这是我的密码:

spamicities = sorted(
    map(self.classify_word(body) ,re.sub("[^\w]", " ",  body).split()),
    key=lambda x: abs(x-0.5),
    reverse=True)[:38]

这是正确的代码:

 spamicities = sorted(
                map(lambda body: self.classify_word(body) ,re.sub("[^\w]", " ",  body).split()),
                key=lambda x: abs(x-0.5),
                reverse=True
                )[:38]

试着把你的问题简化一点。看看

map(self.classify_word(body) ,re.sub("[^\w]", " ",  body).split())
这行行不通,因为
self.classify\u单词(body)
Float
值替换,因此该行类似于

map(5.0 ,re.sub("[^\w]", " ",  body).split())  # wrong!
您需要一个callable作为第一个参数,因此将其包装在匿名函数中,如下所示:

map(lambda x: self.classify_word(x) ,re.sub("[^\w]", " ",  body).split())

self.classify\u-word(body)
->
lambda-body:self.classify\u-word(body)
。如果我想用self.classify\u-word(x)代替self.classify\u-word(x)一个self.example,它是在同一类中的另一个函数中计算出来的,我怎么能在那里调用它呢?我不明白-为什么你不能替换
self.classify\u-word
与另一个函数一起使用?我没有把一个函数放在同一个类中的另一个函数中计算的值,我只想把那个函数放在那里,而不是整个函数,但我得到了一个错误:object没有属性“example”@alex如果这有帮助,请奖励best anwser。谢谢你