Python错误,'bool'类型不可调用

Bri*_*ian 0 python plot boolean matplotlib

我在Python中有很长的代码,所以我不能在这里写出来.无论如何,问题是我正在使用semilogx命令在代码中绘制一个函数,一切正常.但是,如果我切换到plot命令,我收到此错误:

TypeError:'bool'对象不可调用

您认为可能导致问题的原因是什么?

似乎我在代码中使用plot命令的任何地方都会得到相同的错误.我尝试绘制我在代码中使用的第一个变量:

 f=loadtxt(folder_out+"stars/stars"+str(output)+".txt",skiprows=2)
 ids=f[:,0]
 mass_star=f[:,1] # mass in Msun
 x=f[:,2]
 y=f[:,3]
 z=f[:,4]
 age=f[:,5] # age in Myr

 plot(x,y,'.')
Run Code Online (Sandbox Code Playgroud)

最后一行给了我错误.我确定我从文件中读取了变量,它们具有相同的维度.

det*_*tly 8

您的错误表明它plot不是您认为的函数,而是一个函数bool(即.True或者False,是布尔表达式的结果).这可能有以下几个原因:

  • 你明确地给一个bool名为的变量赋值plot(可能在循环中 - 记住ifPython 中的循环和语句不创建新的作用域)
  • 你有一堆from whatever import *语句,其中一个语句导入一个名字plot,这个名字正在破坏一个名字pylab(它甚至可能是from whatever import plot你没有注意到的名字)

您可以尝试通过简单的文本搜索来缩小范围,plot以查看您是否明确地执行此操作.您还可以删除导入并删除脚本,直到它按预期工作,并尝试识别有问题的行.