python boolean,python方法与重载_python特殊方法和运算符重载(番外--重载)

 2023-09-23 阅读 16 评论 0

摘要:python的运算符实际上是通过对象的特殊方法实现的【例如】a=20b=30python boolean?c=a+bd=a.__add__(b)print("c=",c)print("d=",d)执行返回重载关系运算符一般都返回、c= 50d= 50常见的特殊方法统计说明方法说明流运算

python的运算符实际上是通过对象的特殊方法实现的

【例如】

a=20

b=30

python boolean?c=a+b

d=a.__add__(b)

print("c=",c)

print("d=",d)

执行返回

重载关系运算符一般都返回、c= 50

d= 50

常见的特殊方法统计说明

方法

说明

流运算符只能重载为,例子

__init__

构造方法

对象创建:p=Person()

__del__

python 异步、析构方法

对象回收

__repr__,__str__

打印,转换

print(a)

重载流运算符。__call__

函数调用

a()

__getattr__

点号运算

python async,a.xxx

__getitem__

索引运算

a[key]

__setitem__

python重写、索引赋值

a[key]=value

__len__

长度

ken(a)

python 重载,每一个运算符实际都对应了相应的方法,如

运算符

特殊方法

说明

运算符+

c重载,__add__

加法

运算符-

__sub__

减法

重载输入运算符?__it__,__le__,__eq__

比较运算符

>,>=,!=

__gt__,__ge__,__ne__

|,^,&

python重载和重写的区别,__or__,__xor__,__and__

或,异或,与

<>

__lshift__,__rshitf__

左移,右移

c++重载,*,/,%,//

__mul__,__turediv__,__mod__.__floordiv__

乘,浮点数,模运算(取余),整数除

**

__pow__

Python struct、指数运算

可以重写上面的特殊方法,即实现了“运算符的重载”

【例子】

#测试运算符重载,重写即重载

class Person:

通俗python运算符重载。def __init__(self,name):

self.name=name

#重写加法

def __add__(self, other):

if isinstance(other,Person):#判断是否同类对象

return "{}{}".format(self.name,other.name)

else:

return '不是同类型,不能相加'

# 重写乘法

def __mul__(self, other):

if isinstance(other, int): # 判断是否是整数型

return self.name*other

else:

return '不是同类型,不能乘法'

if __name__ == '__main__':

#重载加法

p1=Person('张三')

p2=Person('张三三')

print(p1+p2)

# 重载乘法

print(p1*5)

执行返回

本文地址:https://blog.csdn.net/qq_38934189/article/details/109033535

希望与广大网友互动??

点此进行留言吧!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/89740.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息