python魔方方法__add__、__mul__、__sub__、__truediv__

目录

  • python魔方方法`__add__、__mul__、__sub__、__truediv__`
    • 一、简介
    • 二、详解
    • 三、代码
    • 四、Reference

一、简介

在自定义类的时候,我们可以重写继承来自object类的一些魔方方法,来达到自定义的目的。
本文主要介绍自定义数学运算的一些魔方方法。

二、详解

语法:object.__add__(self, other)
参数:self指代被操作的本类的实例化对象,other指代被操作的本类的另一个实例化对象

三、代码

# Vector类
import math
class Vector(object):def __init__(self, x=0, y=0):self.x = xself.y = ydef __repr__(self):return 'Vector ({} {})'.format(self.x, self.y)def __abs__(self):return math.sqrt(self.x**2 + self.y**2)def __add__(self, other):  # 自定义+return (self.x + other.x, self.y + other.y)def __mul__(self, other):  # 自定义*return self.x * other.x + self.y * other.ydef __sub__(self, other):  # 自定义-return (self.x - other.x, self.y - other.y)def __truediv__(self, other):  # 自定义 /return (self.x / other.x, self.y / other.y)def __bool__(self):return bool(abs(self))A = Vector(1, 2)
B = Vector(2, 1)
print(A + B, A * B, A - B, A / B, abs(A))
(3, 3) 4 (-1, 1) (0.5, 2.0) 2.23606797749979

在这个例子中我们自定义了一个Vector类,并且改写了向量类的加减乘除的方法。

四、Reference

https://docs.python.org/zh-cn/3.9/reference/datamodel.html?highlight=add#object.add

python魔方方法__add__、__mul__、__sub__、__truediv__相关推荐

  1. python魔方方法__getitem__、__setitem__和__len__

    python魔方方法__getitem__.setitem__和__len 目录 python魔方方法__getitem__.__setitem__和__len__ 一.简介 二.详解 三.代码 四. ...

  2. python魔方方法__call__

    python魔方方法__call__ 目录 python魔方方法__call__ 一.简介 二.详解 三.代码 四.Reference 一.简介 当一个类,实现了__call__方法,那么这个类的实例 ...

  3. Python —— 魔方方法

    在Python中 方法名为:XXX() 就是魔方方法 init() 初始化函数,用于完成默认的设置 new() 返回一个对象的实例,init() 无返回值 new()是一个类方法 del() 析构方法 ...

  4. Python魔方方法详解

    原文链接: https://fishc.com.cn/forum.php?mod=viewthread&tid=48793&extra=page%3D1%26filter%3Dtype ...

  5. Python——魔方方法

    在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",中文称『魔术方法』,例如类的初始化方法 init ,Python中所 ...

  6. Python 魔方方法

    class Person:# 默认打印对象,显示类名+地址# 重写该方法,打印该方法的返回值def __str__(self):return '我叫{},今年{}岁'.format(self.name ...

  7. python之有关魔方方法的内容

    魔方方法: 在python的类中,以下划线开头,两个下划线结尾的方法,如常见的:init,str,__del__等,就被称为魔方方法,这些方法在类或对象进行特定的操作时会被自动调用,我们可以使用或重写 ...

  8. Python入门基础(下)之魔方方法

    Python入门基础(下)之魔方方法 一.学习内容概括 学习地址:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32 今天主要学 ...

  9. Python Day 9 魔方方法 -待理解

    目录 魔法方法 1.基本的魔法方法 2.算术运算符 3.反算术运算符 4.增量赋值运算符 5.一元运算符 6.属性访问 7.描述符 8.定制序列 9.迭代器 10.生成器 习题: 魔法方法 魔法方法总 ...

最新文章

  1. Ubuntu下允许Root用户直接登录图形界面
  2. slice(),substring()和substr()的异同
  3. 如何知道我的电脑是多少位 ?
  4. 学习笔记-Redis设计与实现-链表
  5. python自动化从零开始_从零开始的自动化测试框架——Python篇
  6. android xml 未能解析文件,Android Studio提示“无法解析符号”,但项目已编译
  7. python帮助文档中查看内置函数_PYTHON官方文档内置函数整理
  8. 深入理解l内核v4l2框架之video for linux 2(转载)
  9. 编译ffmpeg:libavdevice/xcbgrab.c:28:10: fatal error: xcb/xfixes.h: 没有那个文件或目录
  10. 阿里巴巴集团 CTO 约你聊聊这些事
  11. java实现身份证识别
  12. 智能门禁人脸识别小程序开发制作
  13. linux 升级内核和设置默认启动内核
  14. ConneR and the A.R.C. Markland-N--- codeforces1293A
  15. More than just chatter
  16. Win7安装VS2008 Error1935
  17. switch判断语句用法
  18. 0315-HttpURLConnection和JASON结合使用(以天气预报为例)
  19. 均值不等式中考_不等式(初三不等式100道带答案)
  20. 截取计算机全屏画面的方法有,电脑怎么截图全屏 详细方法介绍

热门文章

  1. LaTeX错误 Misplaced alignment tab character
  2. 为什么你和同事关系处不好?
  3. 用户信息管理系统测试报告
  4. 域名如何解析到指定IP?
  5. 深圳 IT 男打人后疯狂凡尔赛,还教育民警,这回把 IT 人的脸都丢尽了……
  6. MyBatis基础原理
  7. (诛仙剑C-SKY)2-开发
  8. java mcu 视频会议_详解视频会议终端和MCU的区别
  9. Java编写ATM机模拟系统(连接数据库)
  10. C语言 学生管理系统 c++ 学生管理系统