小韩的Python笔记1.1
大家好鸭!我是小韩
应Python老师要求 发表关于Python博客
首先我是一个菜鸡(基础理论还记不住)
其次次,要记录小菜鸡的成长,有不对的地方欢迎指出虽然可能也没有人看
好了,进入正题
生成器函数
嘛叫生成器函数呢?就是每次都会生成一个返回值的特殊函数.
yield语句的函数也可以用来创建生成器对象,每次执行到yield语句并返回一个值后会暂停或挂起后面代码的执行。
下次通过生成器对象的_next_()方法、内置函数next()、for循环遍历生成器对象元素或其它方式显示“索要”数据时恢复执行。
来看一个简单的代码;
斐波那契数列(兔子数列)
def f()
a,b=1,1
while Ture:
yield a #暂停执行,需要时再产生一个新元素
a,b=b,a+b #继续生成新元素
a=f()
for i in range(10):
print(next(a),end='')
这个代码运用的就是生成器函数
高阶函数
满足以下条件之一的函数就是高阶函数
1.函数可以作为参数被传递
2.函数可以作为返回值输出
简单来说就是套娃!!!!!
好的,大家熟悉的环节 —上代码。
import math #引入math类
def add(x,y,f):
return f(x)+f(y)
add(4,9,math.sql) #5.0
Python还有内置的高阶函数
map、reduce、filter、sorted、reversed
一、map函数
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list(序列对象)返回。
二、reduce函数
reduce把一个函数作用在一个序列[x1,x2,x3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累计计算
三、filter函数
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
四、sorted函数
sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序,按照字符串长度排序
今天小韩的笔记到此结束啦!谢谢大家
下周见!各位封校人