在Python中,可插值第一类是指能透过循环式结点其大部份原素的第一类。单纯而言,假如两个第一类能采用for循环式展开插值,所以它是可插值的。
常用的可插值第一类主要包括:条目、位元、词典、子集等。除此之外,数组、文件和计算机程序也是可插值的。
简而言之,可插值第一类要满足用户下列前提:
同时实现__iter__()方式:该方式回到两个插值器第一类。插值器第一类能用以出访可插值第一类的原素。同时实现__next__()方式:该方式回到迭代器的下两个原素。假如没更多原素,则引起StopIteration极度。比如,上面的标识符展现了怎样建立两个可插值的类:
pythonCopy code
class MyIterable:
def __init__(self):
self.data = [1, 2, 3]
def __iter__(self):
self.index = 0
return self
def __next__(self):
if self.index >= len(self.data):
raise StopIteration
value = self.data[self.index]
self.index += 1
return value
前述标识符表述了两个MyIterable类,当中__iter__()方式回到两个插值器第一类,next()方式回到下两个原素。那时,他们能采用for循环式结点MyIterable的大部份原素:
pythonCopy code
my_iterable = MyIterable()
for i in my_iterable:
print(i)
这将输入1、2、3,即使MyIterable类表述了它他们的插值器第一类,并同时实现了__next__()方式。
总而言之,可插值第一类是Python中十分关键的两个基本概念,它容许他们随心所欲地结点繁杂的计算机程序,如条目、位元、词典、子集等。为的是使两个第一类可插值,他们须要同时实现__iter__()方式,该方式回到两个插值器第一类,并同时实现__next__()方式来出访每一原素。