零基础小白入门必看篇:学习Python之面对对象基础( 三 )
- __del__(): 当删除对象时, python解释器会默认调用__del__()方法class Washer(): def __init__(self, width, height): self.width = width self.height = height def __del__(self): print(f'{self}对象已经被删除') haier1 = Washer(10, 20) # 对象<__main__.Washer object at 0x000002204F592358>已经被删除 del haier1
- __dict__(): 类的属性(包含一个字典 , 由类的数据属性组成)class A(object): a = 0 def __init__(self): self.b = 1 aa = A() # 返回类内部所有属性和方法对应的字典 print(A.__dict__) # 返回实例属性和值组成的字典 print(aa.__dict__)
文章插图
继承
- 继承的概念是指一个对象直接使用另一对象的属性和方法Python面向对象的继承指的是多个类之间的所属关系 , 即子类默认继承父类的所有属性的方法查看子类所继承的所有父类以及层级关系: print(子类名.__mro__)# 父类A class A(object): def __init__(self): self.num = 1 def info_print(self): print(self.num) # 子类B class B(A): pass result = B() result.info_print() # 1 # 在Python中,所有类默认继承object类,object类是顶级类或基类;其他子类叫派生类
- 单继承一个子类可以继承一个父类是单继承# 1. 师父类 class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') # 2. 徒弟类 class Prentice(Master): pass # 3. 创建对象daqiu daqiu = Prentice() # 4. 对象访问实例属性 print(daqiu.kongfu) # 5. 对象调用实例方法 daqiu.make_cake()
- 多继承一个子类可以继承多个父类是多继承# 师父类 class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') # 创建学校类 class School(object): def __init__(self): self.kongfu = '[黑马煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') # 徒弟类 class Prentice(Master, School): pass daqiu = Prentice() print(daqiu.kongfu) daqiu.make_cake()
- 子类重写父类的同名属性和方法# 师父类 class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') # 创建学校类 class School(object): def __init__(self): self.kongfu = '[黑马煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') # 徒弟类 class Prentice(Master, School): def __init__(self): self.kongfu = '[独创煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') daqiu = Prentice() print(daqiu.kongfu) daqiu.make_cake() print(Prentice.__mro__) # 子类和父类具有同名属性和方法 , 默认使用子类的同名属性和方法
- 子类调用父类的同名属性和方法class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') class School(object): def __init__(self): self.kongfu = '[黑马煎饼果子配方]' def make_cake(self): print(f'运用{self.kongfu}制作煎饼果子') class Prentice(School, Master): def __init__(self): self.kongfu = '[独创煎饼果子配方]' def make_cake(self):
- 固态硬盘入门手册,一看就精通的电脑硬件教程
- SpringBoot2.x入门到项目实战课程系列(第二章)
- Java基础知识回顾,还记得吗?
- 如何编写JAVA小白第一个程序
- 「OpenCV入门教程」线性滤波方框滤波、均值滤波与高斯滤波
- Python爬虫入门第一课:如何解析网页
- 1分钟制作朋友圈9宫格照片,不用任何P图软件,新手小白也能会
- 更新了!深入浅出图解Git,入门到精通(保姆级教程)第三篇
- 入门到老手全覆盖,锐龙CPU给3D创作加速
- 昔日i7沦为i3,英特尔十代i3或成入门游戏CPU最优选