Python高级特性

来源:互联网 发布:南京浦口永宁网络问政 编辑:程序博客网 时间:2024/06/10 02:33
  1. 切片 :L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。Python支持从头切片,当然也支持末尾切片.取一个list的最后一个元素L[-1].
  2. 在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
    有了切片操作,很多地方循环就不再需要了。Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。
  3. 迭代:
    任何可迭代对象都可以作用于for循环,包括我们自定义的数据类型,只要符合迭代条件(判断对象是否是Iterable 代码:isinstance(‘abc’, Iterable) ),就可以使用for循环。
  4. 生成器:
    如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。
  5. 迭代器:
    我们已经知道,可以直接作用于for循环的数据类型有以下几种:

一类是集合数据类型,如list、tuple、dict、set、str等;

一类是generator,包括生成器和带yield的generator function。

这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。

可以使用isinstance()判断一个对象是否是Iterable对象:

0 0