本文共 2407 字,大约阅读时间需要 8 分钟。
(1)常规创建一个类方法如下:
class Person(object): def __init__(self, name, gender): self.name = name self.gender = genderp = Person('Alien', 'Male')print(p.name)print(p.gender)
(2)但有时候,我们希望创建的是基类,希望其他类来继承的。如果这个基类有4个属性,但只有2个属性是固定不变的,为了方便其他类去继承,如何编写某个类呢?
class Person(object): country = 'china' #写在__init__外面,实例化类时可以不用定义属性,这个是默认值 work = '' # 默认值为 空 def __init__(self, name, gender): self.name = name self.gender = genderp = Person('Alien', 'Male')print(p.name)print(p.gender)print('='*25)print(p.country)print(p.work)print('='*25)
(3)新建的类如果继承基类,那么新类里面也会包含所有基类的属性
class Person(object): country = 'china' work = '' def __init__(self, name, gender): self.name = name self.gender = genderclass Tester(Person): #新类,继承了基类里面所有的属性 def print_info(self): print('hello')t = Tester('Alien', 'Male')print(t.name)print(t.gender)print('='*20)print(t.country)print(t.work)print('='*20)
(4)在新建的类里面,重新定义继承来自基类里面的属性
class Person(object): country = 'china' work = '' def __init__(self, name, gender): self.name = name self.gender = genderclass Tester(Person): country = 'chinese' # 重新定义了属性 work = 'tester' # 重新定义了属性 def print_info(self): print('hello')t = Tester('Alien', 'Male')print(t.name)print(t.gender)print('='*20)print(t.country)print(t.work)print('='*20)
(5)如果继承了基类的属性是4个,但是新类需要的属性是5个,怎么办?
class Person(object): country = 'china' work = '' def __init__(self, name, gender): self.name = name self.gender = genderclass Tester(Person): country = 'chinese' work = 'tester' def __init__(self, name, gender, course): # 添加所有属性,在基类属性基础上,增加course super(Tester, self).__init__(name, gender) # 调用父类的__init__方法,定义基类属性 self.course = course # 单独定义添加的属性t = Tester('Alien', 'Male', 'Business & English') print(t.name)print(t.gender)print('='*20)print(t.country)print(t.work)print(t.course)print('='*20)
转载地址:http://gxeab.baihongyu.com/