面向对象编程 所谓模子就是 类 抽象的,能知道什么属性,但是不知道属性具体值 一切都是对象 有具体值 属性和技能都是根据类 模子来规范
1 # 人狗大战 2 3 # 角色模型 4 # 人的模型 5 def Person(name,blood,aggr,sex): 6 person = { 7 "name": name , 8 "blood": blood, # 血量 9 "aggr": aggr, # 攻击10 "sex": sex,11 }12 def attack(dog):13 dog["blood"] -= person["aggr"]14 print("%s 被 %s打了,失去了%s 血" % (dog["name"], person["name"], person["aggr"]))15 person["attack"] = attack # 增加一个技能16 return person17 alex= Person("狗剩儿",100,1,"不详")18 nezha= Person("糯扎",200,2,"不详")19 print(nezha)20 # 用函数定义一个东西,方便增加人物,方便修改,更加规范,人模子21 22 # 狗的模型23 def Dog(name,blood,aggr,kind):24 dog = {25 "name": name ,26 "blood": blood,27 "aggr": aggr,28 "kind": kind,29 }30 def bite(person):31 person["blood"] -= dog["aggr"]32 print("%s 被 %s咬了,失去了%s 血" % (person["name"], dog["name"], dog["aggr"]))33 dog["bite"] = bite34 return dog35 jin= Dog("金星",100,1,"teddy")36 suyang= Dog("苏阳",1,1,"狗东西")37 print(suyang)38 suyang["bite"](nezha)39 nezha["attack"](suyang)40 41 # {'name': '糯扎', 'blood': 200, 'aggr': 2, 'sex': '不详', 'attack':.attack at 0x00000000028702F0>}42 # {'name': '苏阳', 'blood': 1, 'aggr': 1, 'kind': '狗东西', 'bite': .bite at 0x0000000002870488>}43 # 糯扎 被 苏阳咬了,失去了1 血44 # 苏阳 被 糯扎打了,失去了2 血