描述两个角色:
1 def hum(name,age,job):
2 """这是代表一个人"""
3 data = {
4 'name':name,
5 'age':age,
6 'job':job
7 }
8
9 return data
10
11 def dog(name,type):
12 """这是代表一条旺财"""
13 data ={
14 'name':name,
15 'type':type
16 }
17
18 return data
生成两个实际对象:
1 a = hum('gdr','22','it')
2 b = dog('Fish','taidi')
两个角色对象生成了,但是每个角色的功能不同,每个角色写一个功能函数,想执行哪个功能,直接调用:
1 def walk(h):
2 """人的特征"""
3 print("Hum %s is walking..." %(h['name']))
4
5 def run(d):
6 """旺财的特征"""
7 print("Dog %s is run..." %(d['name']))
8
9 #调用
10 walk(a)
11 run(a)

以上会出现对象功能混用的情况,改变函数,使其不一样的对象对应不同的功能:
1 def hum(name,age,job):
2 """这是代表一个人"""
3 def walk(h):
4 print("Hum %s is walking..." % (h['name']))
5 data = {
6 'name':name,
7 'age':age,
8 'job':job,
9 'walk':walk
10 }
11
12 return data
13
14 def dog(name,type):
15 """这是代表一条旺财"""
16 def run(d):
17 print("Dog %s is run..." % (d['name']))
18 data ={
19 'name':name,
20 'type':type,
21 'run':run
22 }
23 return data
24
25 a = hum('gdr','22','it')
26 b = dog('Fish','taidi')
27
28 print(a['walk'](a))
