类的静态属性(实例变量)
类的动态属性(类的功能方法)
类变量:先找实例变量,再找类变量。不能通过实例变量修改类变量,无实例变量有类变量是个实例私有化属性的过程。
self传入的是实例名
构造函数:def __init(self,name,age):....
析构函数:def __del__(self):....
私有属性:__life ,则不能通过实例名.__life访问
私有方法:__die() ,则不能通过实例名.__life()调用
子类重构时必须先重写父类的参数,新式类与经典类:
多继承是从左到右的继承父类(的构造函数)
# class People: # 经典类 class People(object): # 新式类 def __init__(self, name, age): self.name = name self.age = age self.friends = [] def eat(self): print('%s is eating' % self.name) def sleep(self): print('%s is sleeping ' % self.name) class Relation(object): def makefriends(self, obj): print('%s is making friend with %s' % (self.name, obj.name)) self.friends.append(obj.name) class Man(People, Relation): # def __init__(self, name, age, money): # People.__init__(self, name, age) # 经典类 # Relation.__init__(self) # 经典类 # super(Man, self).__init__(name, age) # 新式类 # self.money = money # def get_money(self): # print('%s was born with %s money' % (self.name, self.money)) pass class Women(People, Relation): pass # m1 = Man('chenronghua', 22, 10) m1 = Man('chenronghu', 22) # m1.get_money() w1 = Women('niuhangyang', 20) m1.makefriends(w1) w1.name = '三炮' print(m1.friends[0])