枚举类型 python2 不支持枚举。。

Pyhon3 新引入枚举

枚举实质就是个类

三元表达式

x大于y, 返回x, 否则返回 y

Java:

x>y ? x : y

Python:条件为真时返回的结果 if 条件判断 else 条件为假时的返回结果

x if x>y else y

Python 入门基础 - 高级用法

函数式编程:闭包

闭包是一种思维方式, 减少全局变量的改变

闭包 = 函数+环境变, 在第35行返回一个数,第36行要返回一个函数,才能生成闭包

意义:保存函数现场

Python 入门基础 - 高级用法

对闭包的理解:

Python 入门基础 - 高级用法

 

闭包实例:

使用非闭包形式:

Python 入门基础 - 高级用法

使用闭包形式(python3),避免了更改全局变量的方式

Python 入门基础 - 高级用法

 

匿名函数 Lamda, 如下图所示,将一个lambda 匿名函数 赋值给一个变量f

Python 入门基础 - 高级用法

冒号后面是表达式,不能是一个赋值函数或者代码块等 , 一般会接入一个三元表达式

Python 入门基础 - 高级用法

 

map 类, 理解为一个映射 (也可以理解为一个for循环)

Python 入门基础 - 高级用法

 

map 和 lambda 一起使用:

与上面的square实现的是同样的内容,但相比更加简洁

Python 入门基础 - 高级用法

python 3:

Python 入门基础 - 高级用法

map lambda 并不能提高运行效率, 只是使得代码更加简洁一些

 

reduce 函数,连续调用lambda,将上一次计算结果当作输入 给x,另外一个列表的值 作为y 

((((1+2)+3)+4)+5)+6)...

Python 入门基础 - 高级用法

10 作为reduce初始值,运算时,x=10, y=1, 是先加10, 而不是等都算完了之后 再加10的

Python 入门基础 - 高级用法

 

Filter , 筛选

Python 入门基础 - 高级用法

filter / map 均返回list,

reduce 返回一个值

 

装饰器

 

 

相关文章:

  • 2021-12-13
  • 2021-06-09
  • 2021-07-15
  • 2021-11-29
  • 2021-11-29
  • 2021-07-28
  • 2021-12-11
猜你喜欢
  • 2021-05-18
  • 2021-12-26
  • 2021-06-20
  • 2021-07-25
  • 2021-07-14
  • 2022-12-23
  • 2021-09-12
相关资源
相似解决方案