gpt4 book ai didi

python - 如何在 Python 中重载一元负(减)运算符?

转载 作者:太空狗 更新时间:2023-10-29 17:42:39 26 4
gpt4 key购买 nike

class Card():
def __init__(self, val):
self.val = val

c = Card(1)
d = -c

我希望 d 是一个 Card 对象,d.val 是 -1。我该怎么做?

最佳答案

听起来您希望 Card 上的一元减号运算符返回一张取反值的新卡片。如果那是你想要的,你可以像这样在你的类上定义 __neg__ 运算符:

class Card:
def __init__(self, val):
self.val = val
def __neg__(self):
return Card(-self.val)

__neg__ 包含在可以重写以自定义算术运算的方法列表中:https://docs.python.org/3/reference/datamodel.html#emulating-numeric-types

关于python - 如何在 Python 中重载一元负(减)运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45454715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com