#coding=utf-8
class Line:
def __init__(self,p1,p2):
self.start = p1
self.end = p2
def __sub__(self,p):
if isinstance(p,Point):
if p is self.start:
return self.end
if p is self.end:
return self.start
class Point:
def __init__(self,x,y):
self.x = x
self.x = x
def __add__(self,p):
if isinstance(p,Point):
return Line(self,p)
if __name__ == '__main__':
p1 = Point(1,2)
p2 = Point(2,3)
line = p1 + p2# 两个点相加 通过__add__方法
print l
#>><__main__.Line instance at 0x02220738>
print line - p1# 线减去一个点 通过__sub__方法
#>><__main__.Point instance at 0x02220710>
分享到:
相关推荐
运算符重载.py python运算符重载
本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体如下: 在Python语言中提供了类似于C++的运算符重在功能: 一下为Python运算符重在调用的方法如下: Method Overloads Call for __init__ 构造...
python 运算符重载 - 自定义分数类 示例
Python中的运算符重载是一种强大的特性,允许程序员自定义运算符的行为,以便它们在特定类的对象上具有不同的意义。这使得代码更加直观和易于理解,尤其是处理自定义数据结构时。下面我们将深入探讨这个概念。 一、...
运算符重载 以Rational class 为例,重载运算符 a/b a//b a += b a == b a a > b a != b a a >= b
本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体分析如下: python中,我们在定义类的时候,可以通过实现一些函数来实现重载运算符。 例子如下: # -*- coding:utf-8 -*- ''''' Created on 2013-3...
什么是运载符重载?__add__,getitem:索引、分片,setitem:索引赋值,delitem:索引和分片删除,以及如何使用这些方法
运算符重载是Python编程中的一个重要概念,它允许我们自定义类的行为,使得类的实例能够像内置类型那样使用运算符。本文将详细介绍如何在Python中正确地重载运算符,并通过具体的示例代码来帮助理解这一特性。 ####...
Python中的运算符重载是面向对象编程的一个重要特性,它允许程序员为自定义的数据类型赋予特定的运算符行为。在Python中,当我们定义一个类并创建了类的对象时,我们可能会希望这些对象能够像内置类型(如整数、...
二元运算符 特殊方法 + __add__,__radd__ – __sub__,__rsub__ * __mul__,__rmul__ / __div__,__rdiv__,__truediv__,__rtruediv__ // __floordiv__,__rfloordiv__ % __mod__,__rmod__ ** __...
python 对象之间的依赖关系和运算符重载 示例
运算符重载是C++等支持的对象导向特性,允许我们为已有的运算符赋予新的含义,使其能作用于自定义类型(如复数类)。对于复数类,常见的运算符重载包括加法、减法、乘法和除法。下面是一些示例: #### 加法 ```cpp ...
Python 110.特殊方法和运算符重载.mp4
相关资源图1运算符重载
总之,Python的运算符重载提供了一种强大的机制,使得我们能够自定义类的比较逻辑,使得自定义对象间的比较变得灵活且具有语义意义。这不仅增加了代码的表达力,也使得复杂的数据结构在比较时更加直观和方便。