__iter__:类的迭代器可以使用for循环迭代类
例子:
##使用genism的word2vec
import os
#import gensim
class Mysentences(object):
def __init__(self,dirname):
self.dirname=dirname
def __iter__(self):
for fname in os.listdir(self.dirname):
for line in open(os.path.join(self.dirname,fname)):
yield line.split()
sentences=Mysentences('data')
for i in sentences:
print(i)
print(sentences)
#model=gensim.models.Word2Vec(sentences)
结果:
['hello', 'tsinghua', 'i', 'love', 'you']
['we', 'are', 'children']