|
- from functools import singledispatch
-
- class Stu(object):
- def __init__(self, name):
- self.name = name
-
- def wake_up(self):
- print('起床')
-
- class Police(object):
- def __init__(self, name):
- self.name = name
-
- def wake_up(self):
- print('起床')
-
-
- @singledispatch
- def wake_up(obj):
- print('不处理')
-
-
- @wake_up.register(Stu)
- def wake_stu(obj):
- print('今天周末休息,让孩子们再睡一会')
-
-
- @wake_up.register(Police)
- def wake_police(obj):
- print('警察很辛苦,又要起床了')
- obj.wake_up()
-
-
- stu = Stu('小明')
- police = Police('小明爸爸')
-
- wake_up(stu)
- wake_police(police)
- wake_up('一个字符串')
|