#!/usr/bin/env python#coding=utf-8class Role(object): #新式类的写法ac=Nonedef __init__(self,name,role,weapon,life_value=100,money=15000):self.name=nameself.role=roleself.weapon=weaponself.life_value=life_valueself.money=moneydef 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)# print(Role.buy_gun)#结果:t1: AK47 China Brandt2: B22 US Brandt3: B23 Janpanese Brandt4: B24 Janpanese Brand
#!/usr/bin/env python#coding=utf-8class SchoolMember(object):members=0def __init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexself.enroll()def tell(self):print("my name is %s" %self.name)def enroll(self):SchoolMember.members+=1print("\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=courseself.salary=salarydef 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=courseself.tuition=tuitiondef 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()t1.teaching()#结果: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]
原文:http://www.cnblogs.com/binhy0428/p/5221462.html