为了账号安全,请及时绑定邮箱和手机立即绑定

引用函数-把函数作为参数

import math

def add(x, y, f):
    return f(x) + f(y)
print add(25, 9, math.sqrt)
print add(-5, 9, abs)

这里在abs前面就不用加math ,但是在sqrt前面就必须加math才能运行,这是什么原因

正在回答

3 回答

这是因为 abs() 本身就不是从Python.math 中引入过来的,建议去看一下Python 的api ,这些函数都是Python 从C中引入的,在Python 中引入后的函数为 fabs(),如果使用Python 的 math 库写法就是 math.fabs() ,而abs() 函数应该是直接调用cmath库,因此使用abs() 时即使不引入 Python 的 math 库也是可以使用的。另外abs 函数是对整数取绝对值,fabs() 是可以对高精度浮点型取绝对值的。

5 回复 有任何疑惑可以回复我~
#1

慕码人5524143 提问者

非常感谢!
2017-10-25 回复 有任何疑惑可以回复我~
#2

刘大不浪

那python的api是不是很多,那么多怎么记得住啊
2018-01-06 回复 有任何疑惑可以回复我~

那python的api是不是很多,那么多怎么记得住啊

0 回复 有任何疑惑可以回复我~

又学到了,谢谢你们

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

引用函数-把函数作为参数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信