day⑥:面向对象
一.类初识-cs_game
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #!/usr/bin/env python#coding=utf-8class Role(object): #新式类的写法 ac=None def __init__(self,name,role,weapon,life_value=100,money=15000): self.name=name self.role=role self.weapon=weapon self.life_value=life_value self.money=money def shot(self): print("shooting...") def got_shot(self): print("ah....,I got shot...") def buy_gun(self,gun_name): print("just bought %s"%gun_name) self.weapon=gun_name#实例化t1=Role("yaobin","boy","AK47") #此时self相当于t1,Role(t1,"yaobin","boy","AK47")t2=Role("test","girl","B22") #此时self相当于t1,Role(t1,"test","girl","B22")t3=Role("test2","girl","B23")t4=Role("test3","girl","B24")#执行方法#t1.buy_gun("new1") #相当于Role.buy_gun(t1,"new1")#t2.buy_gun("new2") #相当于Role.buy_gun(t2,"new2")#print(t1.weapon)#print(t2.weapon)t1.ac="China Brand" #实例改属性t2.ac="US Brand" #实例改属性Role.ac="Janpanese Brand" #改类属性print("t1:",t1.weapon,t1.ac)print("t2:",t2.weapon,t2.ac)print("t3:",t3.weapon,t3.ac)print("t4:",t4.weapon,t4.ac)
#结果:t1: AK47 China Brandt2: B22 US Brandt3: B23 Janpanese Brandt4: B24 Janpanese Brand |
二.继承_school_class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #!/usr/bin/env python#coding=utf-8class SchoolMember(object): members=0 def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex self.enroll() def tell(self): print("my name is %s" %self.name) def enroll(self): SchoolMember.members+=1 print("\033[32;1mnew member [%s] is enrolled,now there are [%s] members.\033[0m"%(self.name,SchoolMember.members) ) #def __del__(self): # print("\033[31;1mmember [%s] is dead!\033[0m" %self.name)class Teacher(SchoolMember): def __init__(self,name,age,sex,course,salary): super(Teacher,self).__init__(name,age,sex) #SchoolMember.__init__(self,name,age,sex) #经典类的写法,旧,不要用 self.course=course self.salary=salary def teaching(self): print("Teacher [%s] is teaching [%s] for class [%s]"%(self.name,self.course,"s12"))class Student(SchoolMember): def __init__(self,name,age,sex,course,tuition): super(Student,self).__init__(name,age,sex) self.course=course self.tuition=tuition def pay_tution(self): print("cao ,student [%s] paying tution" %self.tuition)s1=Student("yaobin",24,"boy","py","1800")t1=Teacher("alex",30,"boy","py","100000")s2=Student("meimei",25,"girl","py","1800")t2=Teacher("wusir",27,"boy","py","120000")s1.tell()s1.pay_tution()t1.tell()
#结果:new member [yaobin] is enrolled,now there are [1] members.new member [alex] is enrolled,now there are [2] members.new member [meimei] is enrolled,now there are [3] members.new member [wusir] is enrolled,now there are [4] members.my name is yaobincao ,student [1800] paying tutionmy name is alexTeacher [alex] is teaching [py] for class [s12] |
浙公网安备 33010602011771号