python之路——24
Posted wan2-0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之路——24相关的知识,希望对你有一定的参考价值。
复习
1.面向对象编程
思想:角色的抽象,创建类,实例化,操作实例
2.面向对象的关键字
1.类的静态属性,存储在类的命名空间
2.类名.方法(对象),对象.方法
3.对象可以使用静态变量;类不可以使用对象里的属性
3.组合
一个类的对象是另一个对象的属性
学习内容
1.继承
1.一个类可以被多个类继承
一个类可以继承多个父类(python独有)
2.python3 --新式类,没有继承父类默认继承object类
3.子类拥有init时,不需要调用父类;同样,拥有待调用方法,也就不需要调用父类
4.父类中没有的属性(方法),子类中出现,叫派生属性(派生属性)
5.继承——减少代码的重复
6.继承表示一种子类是父类的关系
7.新式类继承顺序:广度优先
print(类名.mro) # 显示类的调用顺序,只在新式类中存在
经典类采用深度优先
8.super的本质:根据调用者节点位置的广度优先顺序来的
代码区
1. 子类,父类调用关系
class Animal: def __init__(self,animal): self.animal = animal print(‘in animal init‘) self.func() def eat(self): print(‘eat something‘) def drink(self): print(‘drink water‘) def func(self): print(‘in animal func‘) class Dog(Animal): def __init__(self,kind): self.kind = kind print(‘in dog init‘) def guard(self): print(‘guard home‘) class Bird(Animal): def egg(self): print(‘egg‘) def func(self): print(‘in bird func‘) a1 = Dog(‘teddy‘) # print(Dog.animal) a2 = Bird(‘bird‘)
2.
class Animal: def __init__(self,age): self.age = age def eat(self): print(‘eat something‘) def drink(self): print(‘drink water‘) def func(self): print(‘in animal func‘) class Dog(Animal): def __init__(self,age,kind): Animal.__init__(self,age) #super().__init__(age) # 只在新式类中有,python3中所有类都是新式类 self.kind = kind def guard(self): print(‘guard home‘) class Bird(Animal): def egg(self): print(‘egg‘) def func(self): Animal.func(self) print(‘in bird func‘) a2 = Bird(11) # a2.func() super(Bird,a2).func() # 调用了父类的func
以上是关于python之路——24的主要内容,如果未能解决你的问题,请参考以下文章