day11高阶函数

生成式

生成式就是生成器的简写

1)语法一

(表达式 for 变量 in 序列)

a、说明:表达式 - 任何有结果的语句,数据,赋值后的变量,非赋值的运算表达式等》...
b、展开成生成器:
def 函数名():
for 变量 in 序列:
yield 表达式
生成器 = 函数名()

2)语法二:

生成器 = (表达式 for 变量 in 序列 if 条件语句)

a展开成函数
def 函数名():
for 变量 in 序列:
if 条件语句:
yield 表达式

生成器 = 函数名()

补充:python中的三目运算符

c java js 等中的三目运算符:变量 = 条件语句?表达式1:表达式2
python中的三目运算符:变量 = 表达式1 if 条件语句 else 表达式2

三目运算符的功能:判断条件语句是否为True,如果结果是表达式,否则结果是表达式2

函数作为变量

普通变量能做的事情,函数都可以做

"""

a = 10
def func1():
print('=============')

1)用一个变量给另一个变量赋值

b = a
print(b)
c = func1
c()

2)修改变量的值

a = 'abc'
print(a + 'hello')

func1 = 100

3)变量作为序列的元素

list1 = [a, 10]
print(list1)

list2 = [func1, func1(), 10]
print(list2)
print('~~~~~~~~~~~~~~~~')
print(list20)

4)作为函数的参数

def func2(x):
print(x)

a = 10
func2(a)
func2(func1)

5)变量作为函数的返回值

def func3(x, y):
num = x + y
return num

print(func3(1,2))

def func4():
def func5():
print('函数5')

return func5

print(func4())
func4()()

高阶函数

装饰器 = 实参高阶函数 + 返回值高阶函数 + 糖语法

1.实参高阶函数

有一个参数是函数的函数就是实参高阶函数

python中内置的sorted、max,min等函数,以及列表的sort方法都是实参函数

这些函数中都有一个参数key,要求传参的时候传一个函数。
这个函数需要一个参数和一个返回值,参数代表序列中的元素,返回值是比较对象

2.返回值高阶函数

"""
函数的返回时一个函数,这样的函数就是返回值高阶函数

"""

情况一:真正的返回值高阶函数

def func1():
def func2():
print('函数2')
return func2

情况二:假的返回值高阶函数

def func3():
print('函数3')

def func4():
return func3

闭包

1.什么是闭包

闭包就是一个函数,需要满足以下两个条件:
1.函数的返回值是声明在这个函数中的函数(内函数)
2、这个内函数必须使用外函数中的临时变量(外函数中的局部变量)

闭包的作用:保存临时变量的值(函数调用结束后,函数中的数据不销毁)

装饰器

装饰器是python的三大神器之一

import time

1.什么是装饰器:装饰器本质还是一个函数
装饰器的作用:在不修改函数本身的前提下给函数添加功能

语法:
def 函数1(参数1):
def 函数2(args,kwargs):
体现为原函数添加功能的代码
(保证出现:参数1(
args,**kwargs))
return 函数2

@函数1
声明需要添加功能的函数

回调函数

1.什么是回调函数:函数的调用是在其他函数的内部满足条件的时候自动调用的函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原材料引用(Materials) The heart stops pumping blood. The perso...
    貔Q阅读 246评论 0 1
  • R:我在赵周老师第六课中学到的知识是:构建知识体系的三条进路是从问题出发,从往网到点,从点到网。 I:可以通过三个...
    涂乐阅读 350评论 0 0
  • 知己空间-高盟无限群从昨天的预热到今天的正式开群,让我从平静到起伏到疑惑到等待到惯性思维。在事件中修行一切一览无余...
    薛贵敏阅读 183评论 0 1
  • 1.Materials Without lifesaving measures, the brain starts...
    Wendy552018阅读 159评论 0 0
  • 对你的等待, 说轻了, 是失眠时楼上那迟迟不落地的另一只拖鞋; 说重了, 是死刑犯头顶那将落未落的冷冰冰闸刀。 为...
    慵懒的安居阅读 76评论 0 0