美文网首页
面向对象 -- 运算符重载

面向对象 -- 运算符重载

作者: __深蓝__ | 来源:发表于2019-01-15 11:04 被阅读0次

对于数字类型可以直接进行加、减、乘、除等运算,但对于自定义类型,其运算规则需要自己设计,在python中运算规则通过运算符重载实现

类的专有方法

类提供了一系列的专有方法,完成特定的功能

__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__truediv__: 除运算
__mod__: 求余运算
__pow__: 乘方

通过重写__add____sub____mul____truediv__等方法实现运算符重载

class Vector:
   def __init__(self, a, b):
      self.a = a
      self.b = b
 
   def __str__(self):
      return 'Vector (%d, %d)' % (self.a, self.b)
   
   def __add__(self,other):
      return Vector(self.a + other.a, self.b + other.b)
 
v1 = Vector(2,10)
v2 = Vector(5,-2)
print (v1 + v2)
Vector (7, 8)




- end -

相关文章

  • 面向对象 -- 运算符重载

    对于数字类型可以直接进行加、减、乘、除等运算,但对于自定义类型,其运算规则需要自己设计,在python中运算规则通...

  • Java技术栈梳理

    Java语言 基础, 基本类型, 操作符, 运算符, 表达式 面向对象, 类, 继承, 多态, 重写, 重载 S...

  • C++<第二十六篇>:重载运算符

    重载运算符可以完成对象和对象之间的运算,同样也可以通过重载运算符运算实现对象和普通类型数据的运算。 (1)重载运算...

  • 【C++】面向对象之类和对象(下篇)-004

    第四章 类和对象 4.6 运算符重载 4.6.1 运算符重载基本概念 运算符重载,就是对已有的运算符重新进行定义,...

  • 运算符重载与友元函数

    运算符重载 C++允许将运算符重载到用户定义的类型,例如,使用+将两个类对象相加。 重载运算符要使用运算符函数: ...

  • Python:重载运算符

    运算符重载有两个参数:self ——该对象本身other ——跟在运算符后面的对象 以下为重载运算符的参考列表 以...

  • 1.2.18_C++ 赋值运算符重载

    C++ 重载运算符和重载函数 就像其他运算符一样,您可以重载赋值运算符( = ),用于创建一个对象,比如拷贝构造函...

  • 1.2.19_C++ 函数调用运算符 () 重载

    C++ 重载运算符和重载函数 函数调用运算符 () 可以被重载用于类的对象。当重载 () 时,您不是创造了一种新的...

  • Python:Python学习总结(三)

    魔法方法 对象构造相关:new、init、del。 运算符重载:所有运算符都能重载。 属性访问 集合实现 可调用对...

  • C++基础笔记01

    强类型语言,类型检查严格支持面向对象,泛型,异常(打游戏可不能异常),运算符重载 C++文件后缀可以是 .cpp,...

网友评论

      本文标题:面向对象 -- 运算符重载

      本文链接:https://www.haomeiwen.com/subject/spzsrqtx.html