Python运算符重载

运算符重载是指在方法(双下划线的特殊方法)中拦截内置的操作--当类的实例出现在内置操作中,Python会自动调用自定义的方法,并且返回自定义方法的操作结果。

可以让类拦截常规的Python运算。

可调用对象:__call__()

     函数:内置函数、自定义函数、def、lambda

     类

     类方法

函数的属性:

__doc__

__name__

__dict__

__code__

__globals__

方法的属性:

__doc__

__name__

__func__

__class__

__self__

内置函数的属性:

__doc__

__name__

__self__

类:

   __doc__

   __name__

   __bases__

   __dict__

   __module__:定义当前类的模块名称

  

实例:

  __class__

  __dict__

  

对象都有特殊方法:

   __init__,__new__,__del__

   __dir__()   __add__()    __ge__()

a >= b    a.__ge__(b)




Python运算符重载

时间: 2024-10-07 06:10:17

Python运算符重载的相关文章

python运算符重载2

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

Python——运算符重载(1)

运算符重载 关键概念: 1.运算符重载让类拦截常规的Python运算. 2.类可重载所有的Python表达式运算符. 3.类也可重载打印.函数调用.属性点号运算等内置运算. 4.重载使类实例的行为像内置类型. 5.重载是通过特殊名称的类方法来实现的. 运算符重载只是意味着在类方法中拦截内置的操作--当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果. =================================================

Python 运算符重载 [转载]

构造函数与表达式: __init__, __sub__ 常见运算符重载方法 method overload call __init__ 构造函数 对象创建: X = Class(args) __del__ 析构函数 X对象收回 __add__ 云算法+ 如果没有_iadd_, X+Y, X+=Y __or__ 运算符| 如果没有_ior_,X|Y, X|=Y _repr__, __str__ 打印,转换 print(X),repr(X),str(X) __call__ 函数调用 X(*args,

Python 运算符重载

构造函数与表达式: __init__, __sub__ 常见运算符重载方法 method reload call __init__ 构造函数 对象创建: X = Class(args) __del__ 析构函数 X对象收回 __add__ 云算法+ 如果没有_iadd_, X+Y, X+=Y __or__ 运算符| 如果没有_ior_,X|Y, X|=Y _repr__, __str__ 打印,转换 print(X),repr(X),str(X) __call__ 函数调用 X(*args, *

python 的重载

python 的重载主要包括方法重载和运算符重载.1.python 方法重载: 其他的语言一般对于方法重载的话,主要是根据参数的类型不同或者是数量不同来区分同名的方法.而python则比较特殊,它本身是动态语言,方法的参数是没有类型的,当调用传值的时候才确定参数的类型,故对参数类型不同的方法无需考虑重载.对参数数量不同的方法,则(大多数情况下)可以采用参数默认值来实现.比如你可以定义函数的默认值:def info(x,y,z=1): pass2.python 运算符重载: 在C#中,我们通过使用

Python 正确重载运算符

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica } 有些事情让我不安,比如运算符重载.我决定不支持运算符重载,这完全是个人选择,因为我见过太多 C++ 程序员滥用它. --James Gosling Java 之父 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica } 运算符重载的作用是让用户定义的对象使用中缀运算符(如 + 和 |)或一元运算

Python 3 之 运算符重载详解

基础知识 实际上,"运算符重载"只是意味着在类方法中拦截内置的操作--当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果.以下是对重载的关键概念的复习: 运算符重载让类拦截常规的Python运算. 类可重载所有Python表达式运算符 类可以重载打印.函数调用.属性点号运算等内置运算 重载使类实例的行为像内置类型. 重载是通过特殊名称的类方法来实现的. 换句话说,当类中提供了某个特殊名称的方法,在该类的实例出现在它们相关的表达式时,Pyt

Python面向对象运算符重载

运算符重载的概念如下: 运算符重载让类拦截常规的Python运算: 类可重载所有Python表达式运算符: 类也可重载打印.函数调用.属性点号运算等内置运算: 重载是类实例的行为想内置类型: 重载是通过提供特殊名称的类方法来实现的: 常见的运算符重载方法 方法 重载 调用 __init__ 构造函数 对象建立:X = Class(args) __del__ 解析函数 X对象收回 __add__ 运算符+ 如果没有__iadd__,X+Y,X+=Y __or__ 运算符或 如果没有__ior__

【Python】面向对象的运算符重载

面向对象的编程中可以对运算符进行重载,使运算符可以对该类的实例进行操作. 重载方法的一般格式如下: 1 def __运算符名__(self, other): 2 运算符语句 比较常用的运算符重载有三类:二元算术运算符重载.反向算术运算符重载.比较运算符重载.一元运算符重载 1 二元算术运算符的重载: 2 方法名                  运算符和表达式      说明 3 __add__(self,rhs)        self + rhs      加法 4 __sub__(self