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__方法,就是迭代器
四、
原文:https://www.cnblogs.com/wt7018/p/10841575.html