【发布时间】:2020-09-17 23:02:39
【问题描述】:
我正在研究一个多项式类,当两个输入都是多项式时,我想使用 mul 方法将两个不同的多项式相乘,但也能够使用该方法来乘以一个多项式带有标量。
这可能吗?我尝试搜索答案,但只得到了与为什么不能将整数和字符串相加的原因。
这是我不完整的功能。
def __mul__(self, other):
prod = Polynomial([])
prodDict = {}
if isinstance(other, Polynomial):
return Polynomial([1])
if isinstance(other, int) or isinstance(other, float):
for i in self.poly:
prof.poly[i] = self.poly[i]*other
return Polynomial([1])
错误:
Traceback (most recent call last):
File "polynomial.py", line 118, in <module>
print(p * q)
TypeError: unsupported operand type(s) for *: 'Polynomial' and 'Polynomial'
编辑:我犯了一个愚蠢的错误,并且通过制表错误将我的函数嵌套在前一个函数中。我很抱歉因为这个小错误而浪费了其他人的时间。
【问题讨论】:
-
是的,有可能,请提供是否/您已经尝试过什么、什么/为什么不起作用等以及有关“我尝试搜索”的更多信息
-
我认为您的问题与此非常相似:stackoverflow.com/questions/42071861/…
-
是的,这是可能的。有关实现此类功能的技术,请参阅 magic methods。
-
我犯了一个愚蠢的错误,并且我的函数嵌套在前一个函数中,因为选项卡错误。我很抱歉因为这个小错误而浪费了其他人的时间。
标签: python