你好同窗,我们开始吧,这是我们的第4次见面

学习就是要不停地往复,在it这个行业中,不学习就会被淘汰,当然,也不仅仅是学习计算机相关的知识,关于艺术、关于生活等等,都是我们要学习的,不能蒙头死读,多出去看看,一个思维活跃的大脑才是时代需求的,而不只是一个记忆的仓库(我直接度娘就好了记这么多干啥)

好了,开始今天的复习吧,上次讲到生成器,要记得生成器其实只是一种算法,可以把她想象成一个盒子,里面将根据条件产出东西,因此它本身也是可迭代对象,你可以用next调用下一个,也可以直接用一个变量指向它,然后用for循环把里面的东西输出。另外带yield的函数也是可以作为一种生成器。

迭代器,主要分为生成器、集合数据(list、tuple这些)以及带yield的函数。可以用isinstance检查验证

高阶函数,f=abs(),则f(-10)=10.          def add(x,y,f)中的f也就是abs()函数可以直接使用。‘

map(f,[1,2,3,4,5,6])把后面的每一个数都放到f所代表的方法里面输出。

reduce(f,[1,2,3,4])就相当于f(f(f(1,2),3),4)

list(filter(一个带判断的方法,[要判断的数]))因为返回到是iterator所以要用list包起来哦

sorted([1,3,3,2,4,5,4],key=排序时遵循的方法,reverse=True这个是反向排序)

return除了返回函数也可返回函数,比如

  def....

    def sum():

    pass

  return sum

闭包概念 参量变量都在返回的函数中

返回函数不要一ing用任何循环变量或者后续会发生变化的量,自己返回的是函数!

匿名函数f=lambda x:x*x ,还记得返回函数吗,试试return lambda x:x*x

装饰器,这个也很好用呐多瞅两眼,动态增加功能,返回函数的一个高阶函数。

    @log()

      def now()

调用时运行now()以及前面的.

猜你喜欢

转载自www.cnblogs.com/xingnie/p/9287554.html