类(一)
1、类的一般形式
1 #一般通过class关键字来创建一个类,class后跟类的名字,可自定义 2 #object超级类所有类在这个基础上改写,默认为所有类的夫类 3 class a(object): 4 '''the new class''' 5 name='ahahaha' 6 sex='123' 7 aa=a() 8 #实例化出对象aa 9 # print(type(a)) 10 print(aa.name) 11 #调用变量 12 print(aa.sex) 13 aa.sex=1234 14 #可直接修改 15 print(aa.sex)
2、构造器
1 #类的构造器 2 class a(): 3 #定义类a 4 def __init__(self,name,age): 5 #在生成对象时调用 6 #在创建实例时把一些必须绑定的属性强制输入进去 7 #通过特殊__init__方法将name,age属性绑定上去 8 #self必须在第一个,指向实例本身,不需要传入参数 9 # 10 self.name=name 11 self.age=age 12 def aa(self): 13 print('hello {0}'.format(self.name)) 14 test=a('hzd','12') 15 #传入name和age的变量,若不是两个则报错 16 test.aa()
3、类的继承
1 #类的继承 2 class a(object): 3 #定义a 4 pass 5 class b(object): 6 #定义b 7 pass 8 class c(a,b): 9 #继承a,b 10 pass 11 #c集成a和b, c可以直接获取a和b中定义的所有方法和变量 12 #在寻找方法和变量时,优先寻找自身,在找不到时去所继承的类中寻找 13 #如果不写,所有类都默认继承object 14 15 class parent(): 16 #定义parent类,具有属性name,age 17 name='parent' 18 age=50 19 def __init__(self): 20 print('my name is {0}'.format(self.name)) 21 def get_name(self): 22 return self.name 23 def get_age(self): 24 return self.age 25 class child(parent): 26 #child继承parent 27 name = 'child' 28 age = 10 29 def __init__(self): 30 #需要在子类中构造__init__亲自调用 31 print('my name is {0}'.format(self.name)) 32 def hello(self): 33 print('hello man') 34 a=child() 35 a.hello() 36 print(a.get_age()) 37 print(a.get_name()) 38 #在子类中,使用与父类相同的变量或方法,可覆盖父类的变量和方法