类
是面向对象一个载体
类的定义:class A (object): pass 全局变量 函数1。。。 def....(self): 函数2.。。。 def....():
类里面有很多函数,函数第一个参数默认都是self
变量可以直接在类的内部直接定义
类在内部调用函数或者变量的时候,必须使用self.
self代表的就是类实例化以后的个体
实例化类的首字母小写表示类,然后实例化
类的构造器class A (object): def __init__(self,name): self.name=name
就是类在实例化的时候首先要执行的函数。
继承:class A(object): def __init__(self,name): self.name=name def student(self): print ("please tall my name")class B (A): def grand(self): print("i will be back")a=A("huang")
B调用了A中属性,这就教继承
重写:class A(object): def __init__(self,name): self.name=name def student(self): print ("please tall my name")class B (A):def __init__(self): print("this is test")def grand(self): print("i will be back")def student(self): print("my name is tom")B.student()
A有student,B也有student,如果B中有init构造器,就重写函数,调用类B的student,没有就去父类中找
举个简单的例子:class 人(object): def __init__(self,name): self.name=name 有两条腿 有年龄 有头发class 男人(人): 有妻子: 有胡子:class女人(人): 有丈夫:class和尚(人): def __init__(self): 没有头发
大体就是这个意思,
男人有两条腿,有年龄,有妻子,有胡子,有头发男人继承人的属性。
女人有两条腿,有年龄,有丈夫,有头发女人继承了人的属性,
和尚有两条腿,有年龄,没有头发,头发这个属性和父类(人)冲突了,那么就需要重写,需要有构造器