[2015-08-10] python021
2015-08-13 23:17
621 查看
运算符重载
运算符重载是指在方法中拦截内置的操作–当类的实例出现在内置操作中,Python会自动调用自定义的方法,并且返回自定义方法的操作结果运算符重载让类拦截常规的Python运算
类可重载所有Python表达式云算符
类也可重载打印、函数调用、属性点号运算等内置运算
重载使类实例的行为像内置类型
重载通过提供特殊名称的类方法实现
运算符重载并非必须,并且通常也不是默认的
除了_ _ init _ _ 和 _ _ del _ _ 之外,python类支持使用许多的特殊方法
特殊方法都以双下划线开头和结尾,有些特殊方法有默认行为,没有默认行为的为了留到需要的时候再实现
这些特殊方法是Python中用来扩充类的强大工具,它们可以实现:
模拟标准类型
重载操作符
特殊方法允许类通过重载标准操作符+,*,甚至包括分段下标及映射操作[]来模拟标准类型
可调用对象有:call()
函数
内置函数
自定义函数
def
lambda
类
类方法
[code]函数的属性: __doc__ __name__ __dict__ __code__ __globals__
[code]方法: 实例方法:绑定方法 类方法:非绑定方法 静态方法 方法的属性: __doc__ __name__ __class__ :方法所属的类 __func__ :实现该方法的函数对象 __self__ :调用此方法的实例
[code]内置函数: __doc__ __name__ __self__
[code]类: __doc__ __name__ __bases__ __dict__ __module__ :定义了当前类的模块名称
[code]实例: __class__ __dict__
[code]对象都有特殊方法: __init__ __new__ __del__ __dir__() __add__() __ge__()
相关文章推荐
- python编码的理解
- 第0004道练习题_Python统计文本里单词出现次数
- wxPython Cookbook (Chatper1)part 2
- 零基础学python-2.17 文件、open()、file()
- 零基础学python-2.17 文件、open()、file()
- python 一些有趣的模块
- 03 Python 基础 - 《Python 核心编程》
- Python - 安全替换字符串模板(safe_substitute) 详细解释
- Python的异常处理
- Python字符串处理
- 02 Python 起步 - 《Python 核心编程》
- python回调函数的使用方法
- python面向对象的理解
- python继承
- python is not like C
- python 正则表达式 groups和group有什么区别
- Python爬虫3
- python爬虫2
- Python爬虫1
- python爬虫