簡體   English   中英

如何修復不支持的操作數類型?

[英]How to fix unsupported operand types?

from fraction.py import *

f1 = Fraction(3,4)
f2 = Fraction(2,3)
f3 = f1 * f2
print(f3)
File "python.4", line 1, in <module>
   from fraction import *
  File "/home/PYTHON/examples/fraction.py", line 50, in <module>
    f3= f1 * f2
TypeError: unsupported operand type(s) for *: 'Fraction' and 'Fraction'

有一個 TypeError 但我不知道如何糾正它。 我正在嘗試生成一個分數。 我已經定義了分子和分母。 我將代碼保存在一個單獨的文件中,並嘗試將其導入當前文件以將其應用於此示例。

我不知道“fraction.py”文件的內容,但我猜你沒有返回操作數 * 支持的類型(常見的支持類型是整數、浮點數......)。

我的建議是,在您的自定義類中,您應該重寫魔術方法__mul__(self, other)

暫無
暫無

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

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