Python--面向对象进阶(下)
- 软件开发
- 2025-09-15 15:39:03

4. 特殊成员 方法作用示例__init__初始化对象obj = MyClass()__new__创建对象(构造方法)返回对象实例__call__使对象可调用obj()__str__定义对象的字符串表示print(obj)__getitem__实现索引访问obj[key]__enter__/__exit__上下文管理(with语句)with obj as ctx: ...
示例:上下文管理
class Database: def __enter__(self): print("连接数据库") return self def __exit__(self, *args): print("关闭连接") with Database() as db: print("执行查询操作") # 输出: # 连接数据库 # 执行查询操作 # 关闭连接5. 迭代器与生成器 5.1 迭代器 实现__iter__和__next__ class Counter: def __init__(self, max_num): self.current = 0 self.max = max_num def __iter__(self): return self def __next__(self): if self.current < self.max: self.current += 1 return self.current raise StopIteration for num in Counter(3): print(num) # 输出1, 2, 3 5.2 生成器 使用yield简化迭代器 def counter(max_num): current = 0 while current < max_num: current += 1 yield current for num in counter(3): print(num) # 输出1, 2, 3 5.3 可迭代对象 仅需实现__iter__并返回迭代器 class MyRange: def __init__(self, max_num): self.max = max_num def __iter__(self): return iter(range(self.max)) for num in MyRange(3): print(num) # 输出0, 1, 2
Python--面向对象进阶(下)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Python--面向对象进阶(下)”