class Card():
def __init__(self, val):
self.val = val
c = Card(1)
d = -c
我希望d
是一个Card
对象,d.val
的值为-1。我该如何实现?
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__
被包含在可以重写以自定义算术操作的方法列表中,具体请参见文档:模拟数值类型。