python 错误类型汇总

1、TypeError: 'str' object is not callable

1 >>> a = 'abd13df'
2 >>>str = 'abc'
3 >>>str(123)
4 
5 # str(object),该函数用来将object强制转换为字符串类型,
6 # 但是调用时却出现TypeError: 'str' object is not callable
7 
8 # 原因:因为前面str定义为指向'123',所以编译器把str看成一个指向字符串常量的对象,而不是强制转换类型符,所以需要del str,然后再使用str(123)就不会报错

 

2、TypeError: not all arguments converted during string formatting

1 print('dict[%d] is ' % (i, dict[i]))
2 
3 # 编译器报错:TypeError: not all arguments converted during string formatting
4 # 原因:字符串里的占位符(%)数量和后面的参数数量不一致
5 # 正确为:print('dict[%d] is %f' % (i, dict[i])) 或者 print('dict[%d] is ' % i, dict[i])

 

3、TypeError: smo() got multiple values for argument 'toler'

1 def smo(C, toler, maxIter):
2     pass
3 
4 smo(100, 10000, toler=0.001)
5 
6 # 编译器报错:TypeError: smo() got multiple values for argument 'toler'
7 # 原因:多次给同一个参数'toler'赋值:在调用smo时,传递实参时将位置顺序搞错了,对于位置实参时根据位置的先后来顺序赋值的,但是上面代码在调用smo时,先是把10000赋值给形参'toler',之后又以关键字的形式为'toler'赋值为0.001,编译器不知道该用哪一个值作为'toler'的值,所以会报错:为一个变量传递了多个值,并且这样还导致没有实参传递给形参maxIter
8 # 正确为:smo(100, toler=0.001, 10000)

 

转载于:https://www.cnblogs.com/latup/p/9933481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值