簡體   English   中英

Python - 如何在我自己的 class 上雙向執行操作?

[英]Python - How do i perform operations on my own class in both directions?

比如讓我的 class = object

當我做print(object * int)一切順利

但是,當我打印(int * object)時。 我收到一個錯誤,其中我的 class object 無法添加到 int object,這是可以在不更改默認數據類型的情況下解決的問題嗎?

如果覆蓋 __mul__,則可以調用 print(object*int)。

如果覆蓋 __rmul__,則可以調用 print(int*object)。

寫入 a*b 時,優先調用 a.__mul__(b),如果未實現,則調用 b.__rmul__(a)

暫無
暫無

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

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