栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 特殊方法和运算符重载

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 特殊方法和运算符重载

特殊方法和运算符重载

Python 的运输符实际上是通过调用对象的特殊方法实现的

a = 10
b = 10
c = a + b
d = a.__add__(b)
print('c=',c)
print('d=',d)

 特殊方法

方法说明例子
__init__构造方法对象创建:p = Person()
__del__析构方法对象回收
__call__函数调用a()
__getattr__点号运算a.xxx
__repr__,str__打印,转换print(a)
__getitem__索引运算a[key]

__setitem__

索引赋值

a[key]=value

__len__长度len(a)

 运算符方法

运算符特殊方法说明
运算符 +__add__加法
运算符 -__sub__减法
<,<,=,==__lt__,__le__,__eq__比较运算符
>,> =,!=__gt__,__ge__,__ne__比较运算符
|,^,&__or__,__xor__,__and__或,异或,与
<<,>>__lshift__,__rshift__左移,右移
*,/,%,//__mul__,__truediv__,__mod__,__floordiv__乘,浮点数,模运算(取余),整数除
**__pow__指数运算

# 运算符的重载
class Student:
    def __init__(self,name):
        self.name = name
    

p1 = Student('小明')
p2 = Student('小红2')

x = p1 + p2
print(x)

# 运算符的重载
class Student:
    def __init__(self,name):
        self.name = name
    
    def __add__(self,other):
        if isinstance(other, Student):
            return "{0}--{1}".format(self.name,other.name)
        else:
            return "不是同类对象,不能相加"

p1 = Student('小明')
p2 = Student('小红2')

x = p1 + p2
print(x)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号