python类函数__iter__

__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']

猜你喜欢

转载自blog.csdn.net/th_num/article/details/80951300