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。谢谢你