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

关于functools.partial的用法

就是那个比较大小的偏函数中,为什么还要写一个'cmp=',他的作用是什么啊?直接写一个那个比较大小的函数为什么不对呀?

正在回答

3 回答

去百度Python sorted()的用法 你会发现sorted语法:

sorted(iterable[, cmp[, key[, reverse]]])

代码中“=”左边是语法参数,“=”右边才是函数,就如同int语法的第二个参数是base

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

如果不使用匿名函数,那应该怎么写啊?那问号应该填什么啊?https://img1.sycdn.imooc.com//5b816c980001589007680136.jpg

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

慕九州350972

cmp=show,因为cmp是函数sorted的参数,而偏函数的目的不就是把某些函数的参数固定成我们想要的样子
2018-10-31 回复 有任何疑惑可以回复我~
#2

w嘘空气令人无法呼吸

sorted_ignore_case = functools.partial(sorted, cmp=lambda x,y: show(x,y)) def show(s,x): return cmp(s.lower(),x.lower())
2018-11-24 回复 有任何疑惑可以回复我~
#3

w嘘空气令人无法呼吸

def show(s,x): return cmp(s.lower(),x.lower()) sorted_ignore_case = functools.partial(sorted, cmp= show)
2018-11-24 回复 有任何疑惑可以回复我~
我知道是要固定cmp,但是cmp本身是一个函数,你把一个函数又赋值给cmp,感觉让人无法理解
1 回复 有任何疑惑可以回复我~
#1

慕桂英0273848

我的理解是:cmp只是函数名称 函数名其实就是指向函数的变量 对其赋值类似于改变其指向
2018-09-07 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

关于functools.partial的用法

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