Python编程基础18:运算符重载
Posted howard2005
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编程基础18:运算符重载相关的知识,希望对你有一定的参考价值。
文章目录
零、本讲学习目标
- 掌握运算符重载
- 会定制对象字符串的形式
一、运算符重载
(一)概述
- 运算符重载是通过实现特定的方法使类的实例对象支持Python的各种内置操作 。例如:
+
运算符是类里提供的__add__
这个函数,当调用+
实现加法运算的时候,实际上是调用了__add__
方法。
方法 | 说明 | 何时调用方法 |
---|---|---|
__add__ | 加法运算 | 对象加法:x+y,x+=y |
__sub__ | 减法运算 | 对象减法:x-y,x-=y |
__mul__ | 乘法运算 | 对象乘法:xy,x=y |
__div__ | 除法运算 | 对象除法:x/y,x/=y |
__getitem__ | 索引,分片 | x[i]、x[i:j]、没有__iter__的for循环等 |
__setitem__ | 索引赋值 | x[i]=值、x[i:j]=序列对象 |
__delitem__ | 索引和分片删除 | del x[i]、del x[i:j] |
(二)加法运算重载符
1、概述
- 加法运算是通过调用
__add__
方法完成重载的,当两个实例对象执行加法运算时,自动调用__add__
方法。
2、案例演示
-
编写程序 - 演示加法运算符重载.py
-
运行程序,查看结果
-
如果两个数组长度不相等,那么就会抛出异常
以上是关于Python编程基础18:运算符重载的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB | 面向对象编程基础 | 类的创建及运算符重载