博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 高阶函数 与关键字参数
阅读量:6332 次
发布时间:2019-06-22

本文共 1704 字,大约阅读时间需要 5 分钟。

修饰器

  之前我一直有一个疑惑,就是修饰器里面对函数的操作为什么不能直接写进函数里面就好了吗?何必这么麻烦呢,当我进一步理解之后,原来修饰器的作用就是完成那些不能写进函数里面的功能的,好比必须要等到函数完成后的一些操作一样,(那么函数完成之前的工作怎么办呢?)

  之前的学习笔记:https://www.cnblogs.com/Gaoqiking/p/10470407.html

map/reduce

  能够将函数的参数一下传进去,他能按顺序每次调用几个去自动执行完所有的

  参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317852443934a86aa5bb5ea47fbbd5f35282b331335000

过滤器

  参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431821084171d2e0f22e7cc24305ae03aa0214d0ef29000

排序

  参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318230588782cac105d0d8a40c6b450a232748dc854000

偏函数

  参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184474383175eeea92a8b0439fab7b392a8a32f8fa000

  能不能让自定义的函数使用这个特性呢?想着是应该可以的吧

  偏函数的作用就是把函数的一些参数(这个函数的返回值是一个函数,可以理解为用它来选择函数)给固定起来,或者说是可以在以后使用的时候传递其他值,而且使用非常方便

#使用int做N进制转换>>> int('12345', base=8)5349#用下面这个例子引入偏函数#我们要是自定义一个可以让int()中的base变成可以接受我们传入的进制的话是要这样def int2(x, base_mark=2):***********************************************这里可以是base,也可以是basee    return int(x, base_mark)>>> int2('1000000')64#使用python中提供的偏函数的话就可以将代码简化为这样>>> import functools>>> int2 = functools.partial(int, base=2)#只需要一行代码***********************************************这里必须是base,不可以是basee
>>> int2('1000000') 64

  也可以在调用时传入其他值

  注意,构建偏函数时固定的参数如果是关键字参数,必须要使用原来的关键字,比如上面的base在定义的时候,即关键字要符合原来的函数

>>> int2('1000000', base=10)1000000

  当函数的参数个数太多,需要简化时,使用 functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

 

关键字参数:

  关键字参数就是**kw,而调用函数时对应于关键字参数的是一个字典

#如dict={'base':'2'}int('55',dict)#相当于int('55',base=2)

  

转载于:https://www.cnblogs.com/Gaoqiking/p/10734847.html

你可能感兴趣的文章
《HTML5开发手册》——2.5 初学者“菜谱”:使用mark元素高亮文本
查看>>
数据|“全面二孩”后,想生就生了?
查看>>
《iOS组件与框架——iOS SDK高级特性剖析》——第2章,第2.7节获取线路
查看>>
你是这样理解shell编程的嘛?
查看>>
Spring中 @Autowired标签与 @Resource标签 的区别
查看>>
人工智能凭什么毁灭人类
查看>>
[LeetCode]--349. Intersection of Two Arrays
查看>>
tomcat启动报错
查看>>
mongorocks引擎原理解析
查看>>
2015.08.18 函数
查看>>
JAVA集合泛型,类型擦除,类型通配符上限之类的知识点
查看>>
R绘制3D饼图
查看>>
mongodb3.0副本集搭建补充~~非admin数据库的用户权限
查看>>
linux在shell中获取时间 date巧用
查看>>
PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)
查看>>
用Swift实现一款天气预报APP(一)
查看>>
oracle11g R2 RAC卸载grid
查看>>
Qt中使用QToolBox实现抽屉效果
查看>>
samba来源于网络
查看>>
Page Photos Demo
查看>>