python :使用 __getitem__ 和 __iter__ 可以使类成为一个迭代器

# -*- coding: utf-8 -*-

class Library(object):
    def __init__(self):                                                     
        self.books = { 'title' : 'a', 'title2' : 'b', 'title3' : 'c', }
        
    def __getitem__(self, i):
        return self.books[i]
        
    def __iter__(self):
        # 方法1 使用生成器
        for titles in self.books:
            yield self.books[titles]
        # 方法2 使用迭代器
#        return self.books.itervalues()
 
library = Library()

# 1.普通方法
print library.books['title']

# 2.使用__getitem__
print library['title']

# 3.迭代器
for book in library:
    print book

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页