定义类,封装
# 定义类# 封装:一个是对数据的封装,一个是对实现逻辑即方法的封装class Human(object): # class定义一个类,小括号中是继承哪个对象,可以是系统定义的和自定义的对象 hand = 2 # 成员属性 def __init__(self, name, age): #构造方法 self.name = name # 类变量 self.age = age def eat(self): # 成员方法 print('吃饭') # 实例化h = Human('父母起的', 233) # 实例化类并进行初始化h.eat() # 吃饭Human.hand # 2 成员属性是个静态变量可直接使用 类名.属性名 进行访问
继承
# 子类继承父类,子类可以直接调用父类的属性,方法class Tom(Human): def __init__(self, name, age): super(Tom, self).__init__(name, age) # 继承后必须对父类进行初始化或者使用Human.__init__(self, name, age) self.name = name self.age = age t = Tom('aa', '2')t.eat() # 吃饭# 判断变量是否是某个类的实例化isinstance(t, Tom) # Trueisinstance(t, Human) # True 同样Tom继承的Human类,所以t也是Human的实例化
多态
# 多态就是指不同的对象对一个方法响应不同的行动(同一个方法名可以在不同的对象中实现不同的作用)class A: def func(self): print('A')class B: def func(self): print('B')a = Ab = Ba.func() # Ab.func() # B
访问限制
# 定义私有变量,在变量前加两个"_"class A: def __init__(self, name): self.__name = name def get_name(self): print(self.__name)a = A('Tom')a.__name # 会报错AttributeError异常a.get_name() # Tom 在类中可用self.的方式访问私有变量