#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运算符重载 Python语言提供了运算符重载功能,增强了语言的灵活性,这一点与C++有点类似又有些不同。鉴于它的特殊性,今天就来讨论一下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-运算符重载.rar
二元运算符 特殊方法 + __add__,__radd__ – __sub__,__rsub__ * __mul__,__rmul__ / __div__,__rdiv__,__truediv__,__rtruediv__ // __floordiv__,__rfloordiv__ % __mod__,__rmod__ ** __...
python重载比较运算符 Python是一种面向对象的编程语言,它支持运算符重载,这意味着我们可以为自定义类定义比较运算符的行为。在Python中,比较运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于...
python 对象之间的依赖关系和运算符重载 示例
Python 110.特殊方法和运算符重载.mp4
说到运算符重载相信大家都不陌生,运算符重载的作用是让用户定义的对象使用中缀运算符(如 + 和 |)或一元运算符(如 – 和 ~)。说得宽泛一些,在 Python 中,函数调用(())、属性访问(.)和元素访问 / 切片([]...
相关资源图1运算符重载
Python GUI编程(第一部分) 6_options选项详解_底层源码分析和阅读_可变参数和运算符重载复习.mp4
实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果。以下是对重载的关键概念的复习: 运算符重载让类...