• Python中的高级特性


    1.切片。使用“[”和“]”即可,类似Matlab,可以切list,tuple,字符串等。

    2.迭代。Python内置的enumerate函数可以把一个list变成索引-元素对。

    3.列表生成式。列表生成式则可以用一行语句代替循环生成上面的list:

     
    >>> [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
     
    写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来。同时在for循环的后面还可以跟if 语句。
     
    4.生成器。在Python中,这种一边循环一边计算的机制,称为生成器:generator。
              创建方法:
      1. 把一个列表生成式的[]改成(),就创建了一个generator  。
      1. 如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator
     
    5.函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
     
    6.用for循环调用generator时,发现拿不到generator的return语句的返回值。如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIterationvalue中:
    except StopIteration as e:
    ...         print('Generator return value:', e.value)
    ...         break
     
    7.迭代器。可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
     
    8.可迭代对象。可以直接作用于for循环的对象统称为可迭代对象:Iterable
     
    9.生成器都是Iterator对象,但listdictstr虽然是Iterable,却不是Iterator
     

      把listdictstrIterable变成Iterator可以使用iter()函数:

    >>> isinstance(iter([]), Iterator)
    True

    内容来自廖雪峰

  • 相关阅读:
    JDBC的初步了解及使用
    HTML+CSS的小实例
    java接口与抽象类
    java类的继承(基础)
    java中求质数(素数)的问题
    对HTML5标签的认识(四)
    对HTML5标签的认识(三)
    对HTML5标签的认识(三)
    SublimeText2 快捷键一览表
    Node开发项目管理工具 Grunt 对比 Gulp
  • 原文地址:https://www.cnblogs.com/JackKing-defier/p/4675387.html
Copyright © 2020-2023  润新知