首页 > 编程语言 > 详细

python3迭代器

时间:2019-05-09 23:12:23      阅读:156      评论:0      收藏:0      [点我收藏+]

一、前提

1.dir()函数

dir()函数带参数时,返回参数的属性和方法列表;不带参数时,返回当前范围内变量、方法和定义的类型列表

# dir(参数):带参数,返回参数的属性和方法
s = ‘‘
print(dir(s))
print(dir([]))

2.双下法

双下方法,带双下划线的方法,可以通过不止一种方法调用

l1 = [2, 1]
l2 = [1, 2]
print(l1 + l2)      # l1+l2 -> l1.__add__(l2),通过python解释器转化
print(l1.__add__(l2)) 

二、可迭代协议

1.可迭代协议:只要含有__iter__方法,就是可迭代的

2.判断

# 方法1,判断是否含义__iter__方法
l1 = list(range(10))
res = __iter__ in dir(l1)
if res:
    print(l1,可迭代)
else:
    print(l1,不可迭代)
# 方法2,通过导入模块
from collections.abc import Iterable        # from collections import Iterable 被弃用

s = Hello, World!
res = isinstance(s, Iterable)
if res:
    print(s,可迭代)
else:
    print(s,不可迭代)

3.与for循环的关系

只要是可迭代的就可以使用for循环

三、迭代器协议

迭代器协议:含有__iter__和__next__方法,就是迭代器

四、

 

python3迭代器

原文:https://www.cnblogs.com/wt7018/p/10841575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!