# # 基于可迭代对象&生成器 实现:自定义输出被2整除的数
#
# class Xrange(object):
# def __init__(self, max_num):
# self.max_num = max_num
#
# def __iter__(self):
# counter = 0
# while counter < self.max_num:
# yield counter
# counter += 2
#
#
# obj = Xrange(100)
# for item in obj:
# print(item)
# 上下文管理
# class Foo(object):
#
# def __enter__(self):
# print("进入了")
# return 666
#
# def __exit__(self, exc_type, exc_val, exc_tb):
# print("出去了")
#
#
# obj = Foo()
# with obj as data:
# print(data)
# 生成字典
# class Foo(object):
# def __init__(self, name, age):
# self.name = name
# self.age = age
#
#
# obj = Foo("武沛齐", 19)
# print(obj.__dict__)
# 根据索引值取值
# class Foo(object):
#
# def __getitem__(self, item):
# pass
#
# def __setitem__(self, key, value):
# pass
#
# def __delitem__(self, key):
# pass
#
#
# obj = Foo("武沛齐", 19)
#
# obj["x1"]
# obj[‘x2‘] = 123
# del obj[‘x3‘]
原文:https://www.cnblogs.com/wangqi512/p/15140838.html