Skip to content

Commit 220bf3a

Browse files
committed
generic
1 parent 1f1dd9d commit 220bf3a

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

type/generic.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from dataclasses import dataclass
2+
from typing import List
3+
4+
@dataclass(frozen=True)
5+
class Person:
6+
name: str
7+
age:int
8+
children: list['Person']
9+
10+
fatma = Person(name="Fatma",age=12, children=[])
11+
aisha = Person(name="Aisha",age=10, children=[])
12+
13+
imran = Person(name="Imran",age=40, children=[fatma, aisha])
14+
15+
16+
def print_family_tree(person: Person) -> None:
17+
print(person.name)
18+
for child in person.children:
19+
print(f"- {child.name} ({child.age})")
20+
21+
print_family_tree(imran)

0 commit comments

Comments
 (0)