Skip to content

Commit 9ca9dee

Browse files
committed
🎉 学习第17章迭代器、生成器和经典协程
1 parent 58021e6 commit 9ca9dee

File tree

2 files changed

+1054
-7
lines changed

2 files changed

+1054
-7
lines changed
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
def tree(cls, level=0):
2-
yield cls.__name__, level
3-
for sub_cls in cls.__subclasses__():
4-
yield from tree(sub_cls, level+1)
1+
def tree(cls, dis_level, level=0):
2+
if level <= dis_level:
3+
yield cls.__name__, level
4+
for sub_cls in cls.__subclasses__():
5+
yield from tree(sub_cls, dis_level, level=level+1)
56

67

7-
def display(cls):
8-
for cls_name, level in tree(cls):
8+
def display(cls, display_level=5):
9+
for cls_name, level in tree(cls, display_level - 1):
910
indent = ' ' * 4 * level
1011
print(f'{indent}{cls_name}')
1112

1213

1314
if __name__ == '__main__':
14-
display(BaseException)
15+
display(BaseException, 2)

0 commit comments

Comments
 (0)