运算符重载
- 运算符重载是指在方法中拦截内置的操作–当类的实例出现在内置操作中,Python会自动调用自定义的方法,并且返回自定义方法的操作结果
- 运算符重载让类拦截常规的Python运算
- 类可重载所有Python表达式云算符
- 类也可重载打印、函数调用、属性点号运算等内置运算
- 重载使类实例的行为像内置类型
- 重载通过提供特殊名称的类方法实现
- 运算符重载让类拦截常规的Python运算
- 运算符重载并非必须,并且通常也不是默认的
- 除了_ _ init _ _ 和 _ _ del _ _ 之外,python类支持使用许多的特殊方法
- 特殊方法都以双下划线开头和结尾,有些特殊方法有默认行为,没有默认行为的为了留到需要的时候再实现
- 这些特殊方法是Python中用来扩充类的强大工具,它们可以实现:
模拟标准类型
重载操作符 - 特殊方法允许类通过重载标准操作符+,*,甚至包括分段下标及映射操作[]来模拟标准类型
可调用对象有:call()
函数
- 内置函数
- 自定义函数
- def
- lambda
类
- 类方法
函数的属性:
__doc__
__name__
__dict__
__code__
__globals__
方法:
实例方法:绑定方法
类方法:非绑定方法
静态方法
方法的属性:
__doc__
__name__
__class__ :方法所属的类
__func__ :实现该方法的函数对象
__self__ :调用此方法的实例
内置函数:
__doc__
__name__
__self__
类:
__doc__
__name__
__bases__
__dict__
__module__ :定义了当前类的模块名称
实例:
__class__
__dict__
对象都有特殊方法:
__init__
__new__
__del__
__dir__()
__add__()
__ge__()