super()获得父类的定义,而不是对象
super()获得父类的定义,而不是对象
MRO():
通过mro()方法获得”类的层次结构“,方法解析顺序也是按照这个”类的层次结构“寻找的。
多重继承:
查看类的继承层次结构:
通过类的方法mro()或者类的属性__mro__可以输出这个类的继承层次结构。
类成员的继承与重写:
继承:
调用格式:
class 子类(fu'lei)
__init__(self,参数列表)
面向对象的三大特征介绍:
继承:让子类具有父类的特性,提高代码重用性
封装(隐藏):通过前面学习的”私有属性、私有方法"的方式,实现”封装“。没有严格的语法级的“访问控制符”。
多态:指的是同一个方法调用由于对象不同回产生不同的行为
@property装饰器
@property可以将一个方法的调用方式变成属性调用
私有属性和私有方法(实现封装):
python没有严格的访问控制限制
1.通常约定两个下划线开头的属性是私有的。其他的为公共的。
2.类内部可以访问私有属性(方法)
3.类外部不能直接访问私有属性(方法)
4.类外部可以通过“_类名__私有属性(方法)名“访问私有属性(方法)
方法本质也是属性
python中方法没有重载,只有最后一个有效。
python是动态语言,可以为类添加新得方法,或者修改类得已有方法。
__call__方法和可调用对象:
__del__析构方法和垃圾回收机制:
实现对象被销毁时所需得操作
类方法:
类方法通过装饰器@classmethod来定义
@classmethod
def 类方法名(cls 【,形参列表】)
静态方法:
@staticmethod
类方法和静态方法不能调用实例对象
类对象:
1.定义实例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象
2.调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
dir(obj)可以获得对象的所以属性、方法
obj.__dict__对象的属性字典
pass 空语句
isinstance(对象,类型)判断“对象”是不是“指定类型”
第八章文件操作(IO技术)
文本文件--字符文件--记事本
二进制文件--字节文件--图片,word,音频等
f=open("a.txt","a")
实例属性:
构造函数__init__():
第一个参数必须为self
def__init__(self,name,age)
self.name = name
self.age = age
类的定义:
将不同的数字、方法放在一起就是对象