04-python学习之路

可迭代对象:可以直接作用于for循环的对象为可迭代对象(Iterable),可以用isinstance去判断一个对象是否是Iterable对象。

可以直接作用于for的数据类型烦一般分为两种:

  1、集合数据类型,如list、tuple、dict、set、string

  2、是generator。包括生成器和带yield的generator function

  isinstance([], iterable)

  from collection import Iterable, Iterator

迭代器:

  不但可以作用于for,还可以被next()函数不断调用并返回下一个值,直到最后抛出一个StopIteration错误表示无法继续返回下一个值。

     可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator对象)

  可以使用isinstance()函数判断一个对象是否是Iterator对象

  转成Iterator对象iter()函数

匿名函数:

  使用lambda来创建匿名函数

  特点:

    1、lambda只是一个表达式,函数体比def简单

    2、lambda的主体是一个表达式,而不是代码块,仅仅只能在lambda表达式中封装简单的逻辑

    3、lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名空间的参数

    4、虽然lambda是一个表达式且看起来只能写一行,与C和C++内联函数不同。

  格式:lambda 参数1,参数2,.....,参数n:expression

  sum = lambda num1, num2:num1 + num2

 

posted @ 2019-04-04 10:46  阿狼啊  阅读(93)  评论(0编辑  收藏  举报