描述两个角色:
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))