Python中一元运算符的魔术方法

本文详细介绍了Python中一元运算符的魔术方法,包括__pos__、__neg__、__abs__和__invert__的实现。通过自定义类Coordinate,演示了如何在对象上使用这些魔术方法来执行正号、负号、绝对值和按位取反操作。

一元运算符的魔术方法

  • __pos__(self)魔术方法:在对象前面使用正号的时候执行的方法。
  • __neg__(self)魔术方法:在对象前面使用负号的时候执行的方法。
  • __abs__(self)魔术方法:在对象上使用abs函数的时候执行的方法。
  • __invert__(self)魔术方法:在对象前面使用~的时候执行的方法。
class Coordinate(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __pos__(self): # 在对象前加“+”的操作
        return self

    def __neg__(self): # 在对象前加“-”的操作
        new_coordinate = Coordinate(-self.x, -self.y)
        return new_coordinate
    """ 方法2:
        self.x = -self.x
        self.y = -self.y
        return self
    """

    def __abs__(self): # 在对象上使用abs方法的操作
        new_coordinate = Coordinate(abs(self.x), abs(self.y))
        return new_coordinate
    def __invert__(self):
        new_coordinate = Coordinate(255-self.x, 255-self.y)
        return new_coordinate

    def __str__(self):
        return "Coordinate({},{})".format(self.x,self.y)
c1 = Coordinate(24, 35)
print(c1)    #  Coordinate(24,35)
c1 = -c1
print(c1)    #  Coordinate(-24,-35)
c1 = ~c1
print(c1)    #  Coordinate(231,220)
基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕业设计/大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于Python OpenCV实现的答题卡识别判卷源代码,自动识别答题卡并判卷给出最终分数基于P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值