修饰器

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

  之前的学习笔记: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,也可以是baseereturn 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

python 高阶函数 与关键字参数相关推荐

  1. python高阶函数闭包装饰器_5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器...

    一.什么是装饰器? 实际上装饰器就是个函数,这个函数可以为其他函数提供附加的功能. 装饰器在给其他函数添加功能时,不会修改原函数的源代码,不会修改原函数的调用方式. 高阶函数+函数嵌套+闭包 = 装饰 ...

  2. 快速记忆python函数-【速学速记】Python 高阶函数

    原标题:[速学速记]Python 高阶函数 前言: python 迅速发展壮大起来,多亏了人工智能,AI ,机器学习,深度学习的发展.所以小的给各位看官们准备了收藏已久的视频教程分享给大家!希望能带给 ...

  3. python高阶函数filter_python 高阶函数之filter

    前文说到python高阶函数之map,相信大家对python中的高阶函数有所了解,此次继续分享python中的另一个高阶函数filter. 先看一下filter() 函数签名 >>> ...

  4. python四大高阶函数_详谈Python高阶函数与函数装饰器(推荐)

    一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首 ...

  5. python使用高阶函数实现_18.python高阶函数

    什么是高阶函数:一个函数可以作为参数传给另外一个函数(一个函数可以用来接收另一个函数作为参数),或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数.函数的形参位 ...

  6. python高阶函数map_简单了解python高阶函数map/reduce

    高阶函数map/reduce Python内建了map()和reduce()函数. 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每 ...

  7. python高阶函数(三分钟读懂)

    python高阶函数(三分钟读懂) 函数式编程 Python中,函数是一等对象 一等对象:具有特点 ① 对象是在运行时创建的 ② 能赋值给变量或作为数据结构中的元素 ③ 能作为参数传递 ④ 能作为返回 ...

  8. python高阶函数——sorted排序算法

    python高阶函数--sorted排序算法 python 内置的sorted()函数可以对一个list进行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, ...

  9. python高阶函数闭包装饰器_Python_基础_(装饰器,*args,**kwargs,高阶函数,函数闭包,函数嵌套)...

    一,装饰器 装饰器:本质就是函数,功能是为其它的函数动态添加附加的功能 原则:对修改关闭对扩展开放 1.不修改被修饰函数的源代码 2.不修改被修改函数的调用方式 装饰器实现的知识储备:高阶函数,函数嵌 ...

最新文章

  1. Django-C002-深入模型,到底有多深
  2. QIIME 2教程. 08差异丰度分析gneiss(2021.2)
  3. 华硕的服务器怎么看型号,怎么识别华硕主板型号
  4. 浅谈云服务器都能用来做什么?
  5. 东莞.NET俱乐部线下技术沙龙-活动报名
  6. php post nginx 400,Nginx静态文件响应POST请求 提示405错误的解决方法
  7. 使用matplotlib画图时不能同时打开太多张图
  8. SpringBoot工程不注册到Eureka上
  9. python销毁线程_聊聊 Python 中的线程
  10. 马云:蚂蚁最应该感谢微信;波音软件修复文件不合格;谷歌开源Cardboard|极客头条...
  11. 十分钟快速了解《你不知道的 JavaScript》(上卷)
  12. java io教程_Java IO教程
  13. 深度学习图像分类(十三):ShuffleNet系列(V1,V2)
  14. 如何提高计算机软件的性能,如何提高计算机性能?
  15. javaWeb随机生成网页验证码图片
  16. 不用找了,大厂在用的分库分表方案,都在这了
  17. 使用粒子效果动画组成模型[自定义shader实现]
  18. 今晚没有iPhone 12?首发A14机型确定:意料不到
  19. 什么是UUID 以及UUID的版本
  20. Python遍历字典的几种方式

热门文章

  1. 76分钟训练BERT!谷歌深度学习的大批量优化研究被ICLR 2020接收
  2. android 将bitmap存为 bmp格式图片大小,Android Bitmap保存為.bmp格式,圖像轉化為黑白圖片...
  3. SAP MM在ML81N事务代码界面报错- Customizing incorrectly maintained –之对策
  4. SAP RETAIL 为门店代码维护Plant Group
  5. 驭下术:如何让下属老实听话?用这3招,让你不怒自威
  6. 剑桥 2020 人工智能全景报告,未来 8 项AI趋势预测
  7. 百度2019年财报喜忧参半,决胜AI时代仍不好说
  8. 谷歌开源 MobileNetV3:新思路 AutoML 改进计算机视觉模型移动端
  9. 人工智能赋能智慧停车 准确预订车位
  10. 干货丨区块链如何改变人工智能(AI)?