python __add__()的具体使用

作者:番茄牛腩不吃番茄 时间:2022-11-29 07:49:22 

__add__(),  同一个类,两个对象相加的实现逻辑,重写 +

class Myclass(object):
   def __init__(self,value):
       self.value = value

def __add__(self, other):
       return self.value + other.value

if __name__ == '__main__':
   o1 = Myclass(1)
   o2 = Myclass(2)
   print(o1+o2)

打印结果:

3

python __add__()的具体使用

 self 只本身对象,other 指另一个对象(同属于Myclass 类)

python中 “__add__”和“__iadd__” 的区别

__add__”和“__iadd__” 的区别, 两个同为拼接操作

addiadd
listlist
tuple–

list中是两个都可以使用;而tuple中却只能使用一个 。

1、__add__属性

b = [7, 8, 9, 10, 11, 12]
d = [19, 20, 21, 22, 23, 24]

# 执行了拼接动作,拼接后的值被return出来
g = b.__add__(d)
print(g)

执行结果如下:

D:\python_env\Scripts\python.exe F:/TESTING/BlogPosts/ReadAndWrite/list_and_tuple.py
[7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24]

Process finished with exit code 0

2、__iadd__属性

b = [7, 8, 9, 10, 11, 12]
d = [19, 20, 21, 22, 23, 24]

# 执行拼接动作,属于就地拼接
h = b.__iadd__(d)
print(h)

执行结果如下:

D:\python_env\Scripts\python.exe F:/TESTING/BlogPosts/ReadAndWrite/list_and_tuple.py
[7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24]

Process finished with exit code 0

以上两种都执行后,发现结果基本都是一致,看不出来什么花样,于是我们在调试模式下进行区分,一目了然 。如下展示:

python __add__()的具体使用

上图是执行到__add__后直接return返回出来的。下图是执行__iadd__后,先拼接一下再把值返出来,注意它不是return出来的 。

python __add__()的具体使用

来源:https://blog.csdn.net/LIFENG0402/article/details/107603787

标签:python,add
0
投稿

猜你喜欢

  • javascript同步服务器时间和同步倒计时小技巧

    2023-08-27 22:10:58
  • python获取当前文件路径以及父文件路径的方法

    2022-07-02 14:06:00
  • python实现一个点绕另一个点旋转后的坐标

    2023-04-24 19:29:24
  • Python设计密码强度校验程序

    2022-09-29 08:37:12
  • vue3+vite使用jsx和tsx详情

    2024-05-10 14:15:47
  • 巧用正则表达式获取新闻中图片地址

    2010-07-17 13:09:00
  • jQuery中$.ajax的实现解析

    2008-07-20 13:11:00
  • Python 在字符串中加入变量的实例讲解

    2023-01-27 10:51:21
  • asp单主键高效通用分页存储过程

    2009-02-23 19:21:00
  • 正则表达式中两个反斜杠的匹配规则详解

    2023-10-05 17:24:37
  • python 剪切移动文件的实现代码

    2023-06-10 05:21:14
  • Zend Framework教程之Zend_Config_Ini用法分析

    2024-05-13 09:23:47
  • python 协程中的迭代器,生成器原理及应用实例详解

    2022-09-01 07:19:56
  • 使用Keras加载含有自定义层或函数的模型操作

    2022-12-25 19:29:29
  • Python3.5局部变量与全局变量作用域实例分析

    2023-05-20 23:18:28
  • asp 隐藏并修改文件的最后修改时间

    2011-03-29 10:34:00
  • python内存管理机制原理详解

    2021-05-24 16:19:48
  • SQL Server存储过程入门学习

    2024-01-28 20:12:13
  • javascript中mouseenter与mouseover的异同

    2024-05-02 16:11:54
  • Python常用的日期时间处理方法示例

    2023-07-30 04:31:05
  • asp之家 网络编程 m.aspxhome.com