早教吧 育儿知识 作业答案 考试题库 百科 知识分享

Python高手来,我新定义一个函数,求a+绝对值b,但是我用他的时候,他给了一个错误,>>>fromoperatorimportadd,sub>>>defaplusabsb(a,b):\x05ifb>=0:\x05op=a+b\x05else:\x05op=a-b\x05returnop(a,b)>>>aplusabsb(1,2)Traceb

题目详情
Python高手来,我新定义一个函数,求a+绝对值b,但是我用他的时候,他给了一个错误,
>>> from operator import add,sub
>>> def a_plus_abs_b(a,b):
\x05if b>=0:
\x05 op=a+b
\x05else:
\x05 op=a-b
\x05return op(a,b)
>>> a_plus_abs_b(1,2)
Traceback (most recent call last):
File "",line 1,in
a_plus_abs_b(1,2)
File "",line 6,in a_plus_abs_b
return op(a,b)
TypeError:'int' object is not callable
>>>
▼优质解答
答案和解析
注意无论是执行了op = a+b还是op= a-b
op都是一个int型的数据类型,而你用return op(a,b)则是在调用op这个方法obj,整形数据是不支持被当做方法来调用的