Python中声明numpy数组出现TypeError: 'list' object is not callable问题
报错原因
该错误的核心诱因是运行当前代码前,np.array 标识符已被错误赋值为列表类型变量,覆盖了numpy原生的array方法。Python执行np.array([1,2,3])时会尝试把已赋值的列表作为可调用对象执行,自然就抛出了list对象不可调用的类型错误。
常见复现场景
此前的运行会话中执行过类似的错误赋值操作,示例如下:
import numpy as np # 错误操作:将numpy的方法名用作自定义列表变量名 np.array = [4,5,6] # 后续调用同名方法时触发报错 a = np.array([1,2,3])
解决方案
- 重启当前Python运行会话(Jupyter内核、交互终端、IDE运行环境均可),重新导入numpy后即可正常运行代码
- 若不想重启环境,可执行以下代码重新绑定
np.array的指向:
from numpy import array np.array = array
注意事项
后续编码过程中不要使用内置关键字、第三方库常用方法名作为自定义变量名,例如list、dict、str、np.array这类名称都不适合用来给自定义变量赋值。
内容的提问来源于stack exchange,提问作者Sumanth
相关产品推荐
相关产品推荐

