[2015-08-10] python021

运算符重载

  • 运算符重载是指在方法中拦截内置的操作–当类的实例出现在内置操作中,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__()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章