簡體   English   中英

python運算符重載和朋友

[英]python operator overload and friends


我想知道是否有人可以給我一個關於如何在一個類中重載運算符的示例,在我的例子中是+運算符。 我可以定義一個功能(不是類方法)嗎? 我是新手,所以我真的不知道該怎么做。

謝謝

定義其__add__()方法。

這里

class MyNum(object):
    def __init__(self, val):
        super(MyNum,self).__init__()
        self.val = val

    def __add__(self, num):
        return self.__class__.(self.val + num)

    def __str__(self):
        return self.__class__.__name__ + '(' + str(self.val) + ')'

print(MyNum(3) + 2)   # -> MyNum(5)

如果對基礎知識有疑問:手冊。 http://docs.python.org/reference/datamodel.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM