Python 第八节 第十二课

举报
我是小白呀iamarookie 发表于 2021/09/10 23:33:58 2021/09/10
【摘要】 [toc] 特殊方法和运算符重载 Python 的运算符实际上是通过调用对象的特殊方法实现的. 比如: 执行结果: 常见的特殊方法统计如下: __init__                     &nbsp...

[toc]

特殊方法和运算符重载

Python 的运算符实际上是通过调用对象的特殊方法实现的. 比如:

执行结果:

常见的特殊方法统计如下:

__init__                        构造方法                 对象创建: p = Person()

__del__                        析构方法                 对象回收  对象回收

__repr__, __str__        打印, 转换                print(a)

__call__                       函数调用                  a()

__getattr__                   点号运算                  a.xxx

__satattr__                   属性赋值                  a.xxx = value

__gettitem__                 索引运算                  a[key]

__setitem__                  索引赋值                  a[key]

__len__                         长度                         len(a)

每个运算符实际上都是应对了相应的方法, 统计如下:

运算符+              __add__                              加法

运算符-               __sub__                              减法

<, <=, ==            __it__, __le__, __eq__        比较运算符

>, >=, !=             __gt__, __ge__, __ne__      比较运算符

|, ^, &                 __or__, __xor__, __and__   或, 异或, 与

<<, >>                __lshift__, __rshift__            左移, 右移

*, /                      __mul__, __truediv__          乘, 浮点除

%, //                   __mod__, __floordiv__         模运算 ( 取余), 整数除

**                        __pow__                               指数运算

我们可以重写上面的特殊方法, 即实现了 "运算符的重载".

执行结果:

文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。

原文链接:iamarookie.blog.csdn.net/article/details/108934156

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。