python中object is not callable疑问

weixin_44907133 2020-04-11 01:40:03
本人初学python,现在跟着视频做一个超级简单的线性代数的库,跟着老师鲁代码到创建Ab增广矩阵的时候系统报错object is not callable
具体代码如下

class LinearSystem:

def __init__(self, A, b):

assert A.row_num() == len(b), "row num of the A must same with the len of the b"
self._m = A.row_num()
self._n = A.col_num()
assert self._m == self._n # TODO: this is not restriction

self.Ab = [Vector(A.row_vector(i) + [b(i)])
for i in range(self._m)]


pycharm提示TypeError: 'Vector' object is not callable

问题是代码和老师的一模一样就是报错,使用老师的代码和测试代码报同样错误。望大师指点一二。

...全文
1550 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
paullbm 2020-04-11
  • 打赏
  • 举报
回复
引用 2 楼 weixin_44907133 的回复:
十分感谢楼上,问题已经解决了。原来是self.Ab = [Vector(A.row_vector(i) + [b(i)])中(i)的是方括号不是圆括号。毕竟是新手,找错花了大量时间,结果是自己一个小疏忽。再次感谢楼上。
问题解决了,及时结贴吧! 及时结贴是csdner的传统美德!
weixin_44907133 2020-04-11
  • 打赏
  • 举报
回复
十分感谢楼上,问题已经解决了。原来是self.Ab = [Vector(A.row_vector(i) + [b(i)])中(i)的是方括号不是圆括号。毕竟是新手,找错花了大量时间,结果是自己一个小疏忽。再次感谢楼上大神。
paullbm 2020-04-11
  • 打赏
  • 举报
回复
pycharm提示TypeError: 'Vector' object is not callable ----------------- 'xxx' object is not callable 的错误提示说明了xxx对象不可调用! 从你的代码来看,你使用的是Vector(),那说明是调用了该对象的构造函数或名称为Vector的普通函数。 如果是可遍历的对象,一般是用中括号去进行索引。比如Vector()改为:Vector[] Vector(A.row_vector(i) + [b(i)]) 外层小括号改成中括号: Vector[A.row_vector(i) + [b(i)]] 试试! ----------- 另外,你先在上述代码之前,先分别打印你的A.row_vector(i)和b(i) print(A.row_vector(i)) print(b(i)) 看会不会报类似xxx对象不可调用的错误?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧