运算符--即是对象方法的调用
a+b--a.__add__(b)
a是数字类对象,其父类包含加法运算方法
可以这么理解,定义一个大类,下面包含各种方法,默认属于在这一类的对象都是他的子类
符号就是方法!!
一切皆是对象,一切皆是方法
运算符--即是对象方法的调用
a+b--a.__add__(b)
a是数字类对象,其父类包含加法运算方法
可以这么理解,定义一个大类,下面包含各种方法,默认属于在这一类的对象都是他的子类
符号就是方法!!
一切皆是对象,一切皆是方法
多态
不同对象相同方法产生不同行为
各国吃饭方式
方法多态,属性没有
存在多态--继承与方法重新
其实也就是对父类方法重写
super所取得是父类的定义不是对象
获取父类代码
所谓继承就是chuang'za
mro
多重继承不要用
因为有根类object,所以会有__init__
在定义一个新类的时候,就相当于在重写方法
object所有类的父类
dir()
继承
继承出了构造方法以外
重写方法
继承
默认object类
__new__方法便在里面
私有属性也能继承
封装--隐藏对象属性与实现细节
继承
多态--同一个对象调用同一个方法执行情况不同
单例用对象保存起来
@property装饰器
方法调用--属性调用
但不可以设置
装饰器代替set get
私有方法
对外私有
def __
dir()字典显示函数属性
封装的实现
私有属性/方法
方法没有重载
方法同名会覆盖
为类添加新方法
方法函数也是对象
一切都是对象
__del__
垃圾回收,没人用就删除
???
程序结束调用del
类方法,静态方法
@classmethod
cls--类独有
注意类调用实例方法时不可直接调,类本身时不含有的,只有对应到实例对象才可以调用实例方法,放在类内只是为了方便共享方便调用
静态方法--与类无关的方法
@staticmethod
两种方法不能调用实例方法
调的时候还没有对象
‘在模具里面想吃饼干’
类属性类方法--class下面,直接属于类
与实例属性实例方法不同--在init内
1.模具对象没有实例属性,但实例方法在模具对象之中
2.体会类创建的过程,实例对象创建的过程
类对象
1.type数据类型相当于模具对象
通过模具对象生产其他对象
实例方法--难点
1.方法内含self也就相当于将给予对象方法
2.a.say_score()--- 方法是共享的
计算机看到的是Student.say_score(a)传入a对象标签地址
名义上方法是属于对象的,但计算机是通过模具通用方法传入对象地址输出方法
方法都是通用的,只有对应的self地址不同
3.dir--获取对象属性及方法
obj.__dict__获取属性字典
pass先占个地儿
isinstance对象是否为另一个对象实例对象