有名函数

多次使用,会重复调用

def run(x,y):print(x,y)return x,y
run(1,2)

匿名函数

1 匿名函数:就是没有名字的函数
2 为何要用:
用于仅仅临时使用一次的场景,没有重复使用的需求

匿名函数的定义

print(lambda x, y: x + y)

表达式

(lambda x, y: print(x + y))(1, 2)

匿名函数一般和max,min,sorted连用

 salaries= {'xialuo':3000000,'xishi':30000,'dahai':3000}def func(name):return(salaries[name]#比较value值
#求最大值
print(max(salaries,key=lambda name:salaries[name]))
#求最小值
print(min(salaries,key=lambda name:salaries[name]))#反序
print(sorted(salaies,key=lambda name:salaries[name],reverse=True))
#正序
print(sorted(salaies,key=lambda name:salaries[name],reverse=False))

递归函数

1.什么是递归函数
函数的递归调用是函数嵌套调用的一种特殊形式,在调用一个函数的过程中又直接或者间接地调用该函数本身,称之为函数的递归调用
递归死循环是没有意义的

递归调用必须有两个明确的阶段:
1. 回溯: 一次次递归调用下去,说白了就一个重复的过程,
但需要注意的是每一次重复问题的规模都应该有所减少,
直到逼近一个最终的结果,即回溯阶段一定要有一个明确的结束条件
2. 递推: 往回一层一层推算出结果

递归是函数的定义里面嵌套函数的调用
*****递归与循环的区别,循环每一次都要判断,需要考虑多少次
而递归只需要确定结束条件就行,按照规律进行重复调用,不需要考虑次数

第五个人年龄为第4个人加2岁

def age(n):if n ==1:return 18if n>1:return age(n-1)+2
print(age(5))

循环取值

L = [1,[2,[3,[4,[5,[6,[7,[8,[9,]]]]]]]]]def search(L):for n in L:# print(n)if type(n) is not list:print('我是数字%s'%n)else:search(n)
search(L)

闭包函数

闭包
闭指的是:该函数是一个内部函数
包指的是:指的是该内部的函数名字在外部被引用

def outer(x,y):def func():print(x+y)return func#每次都是传入同样的参数
func1=outer(3,2)
func1()
func1()
func1()

装饰器

装饰器就是一个特殊的闭包函数
1、什么是装饰器(就是一个函数,只不过这个函数不是给自己使用的,是给其他函数添加功能的)
器指的是工具,而程序中的函数就具备某一功能的工具
装饰指的是为被装饰器对象添加额外功能
2、为什么要用装饰器
软件的维护应该遵循开放封闭原则
开放封闭原则指的是:
软件一旦上线运行后对修改源代码是封闭的,对扩展功能的是开放的
这就用到了装饰器

装饰器的实现必须遵循两大原则:
1、不修改被装饰对象的源代码(人的原来的性格,生活方式)
2、不修改被装饰对象的调用方式(人的原来的外貌,名字)

实例

name='大海'
#装饰器
def  decorate(func): #func等下传入rundef new_func(name):#run(name) 的 nameprint("装饰前面的代码")func(name)print("装饰后面的代码")return new_func#被装饰函数
@decorate
def run(name):print('=================')print('我是%s' %name)#运行装饰器
@decorate等价于run = decorate(run)
run = decorate(run)
run(name)

5.Python函数高级相关推荐

  1. python函数高级话题

    python函数高级话题 python函数高级话题 递归函数 匿名函数:lambda lambda表达式 高阶函数 python 中常见的高阶函数 (1)filter (2)map (3)reduce ...

  2. python pow和**_「Python学习笔记」Python函数高级应用

    Python, 函数本身也是一个对象函数既可以赋值,也可以用作其他函数的参数,还可作为其他函数的返回值. 使用函数变量 Python的函数也是一种值:所有函数都是function对象,这意味着可以把函 ...

  3. python函数高级运用

    一.装饰器 1.1 闭包函数用法 # 需求: # 执行一个函数前需要认证是否登录,如果登录则不需再登录. # 只认证一次,后续操作无需认证 # 要求认证使用闭包函数用法 # 闭包函数 = 函数嵌套 + ...

  4. doraemon的python 函数高级应用

    5.6函数小高级 5.6.1函数名可以当做变量来用 def func(): print(123)​v1 = funcv1() def func(): print(123) def bar(): pri ...

  5. Python函数(函数定义、函数调用)用法详解

    函数 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码. 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码.函数还可以接 ...

  6. python函数第二次运行报错_Python学习笔记2-函数、高级特性

    函数 调用函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 >>> abs(100) 100 >>> abs(-20) 20 ...

  7. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  8. python的高级函数_Python的高级函数

    Python的高级函数 1. map函数 map(func, *itertables) 对itertables中的每个元素使用func,当最短的itertable结束时便停止.map可以传入多个ite ...

  9. Python基础-16 函数高级(续)

    文章目录 十六.函数高级(续) 8. 函数返回多个值 9. 函数嵌套调用及过程 - 函数嵌套 - nonlocal 关键字 10. 递归函数的调用及过程(了解) 1. 系统编程相关 - pass - ...

最新文章

  1. 在线实时大数据平台Storm单机部署
  2. 选择屏幕设置默认日期
  3. 如果测试你的MongoDB应用升级?
  4. DevToys - 开发人员的瑞士军刀
  5. 区间数多属性决策matlab,区间数多属性决策的改进理想解法
  6. MATLAB2016打开mat格式图片
  7. ROS学习笔记5(理解ROS节点)
  8. JavaScript 详解:为什么写好的代码非常重要
  9. ModuleNotFoundError: No module named ‘librosa‘
  10. PL2303 Windows8.1驱动的问题
  11. Navicat 数据库可视化工具远程连接MySQL及基本操作
  12. html js实现省市区联动调节下拉框菜单
  13. Cloudflare DDNS梅林插件代码
  14. 【备忘】【No5】微信公众平台开发入门到实战开发视频教程(Java+PHP)
  15. Timeline调用实质
  16. 微软C++团队将出席ACCU 2021
  17. 520 钻石争霸赛 7-2 真的恭喜你 (10分)
  18. 网络平台做用户实名认证的好处
  19. [转载]Shell十三问(入门与提高)
  20. 源码阅读技巧总结-Android

热门文章

  1. entsel约束条件lisp_autolisp函数
  2. 大数据在互联网经济发展中的应用
  3. 小程序之坑一TypeError: this.setData is not a function
  4. [学习笔记]UserInterface/Layouts
  5. UG二次开发GRIP给尺寸增加*
  6. 常用Xilinx Alveo 技术文档资源列表(全中文)
  7. java 播放器开发 dat_dat格式用什么播放器 JAVA中文件的读写 I/O 输入输出流(3)
  8. Pig下载与安装与使用
  9. 微型计算机控制技术 王新,出版教材和专著 - 教材专著-建设成果 - 安全工程国家级实验教学示范中心(河南理工大学)...
  10. GDB调试CoreDump文件