在 python 中创建对象时出错

error while creating objects in python

class polynomial:
    def __init__(self, *coeff):
            self.coeff = coeff
    def __repr__(self):
            return 'polynomial(*{!r})'.format(self.coeff)
    def __add__(self, other):
            return polynomial(*(x + y for x, y in zip(self.coeff, other.coeff))                                                             
g = polynomial(1, 2, 3)
d = polynomial(3, 3, 4)

我正在尝试学习 python,现在我正在尝试掌握 类 的窍门,但我遇到了这个错误 g = 多项式 (1, 2, 3) ^ 语法错误:语法无效

对我来说,在 __add__ 函数中添加右括号后,效果非常好。

我可以在单个 jupyter notebook 单元格中重现您的错误。但是,如果您将 class 定义与两个不同单元格中的实例化分开,您将获得

return polynomial(*(x + y for x, y in zip(self.coeff, other.coeff))
                                                                   ^
SyntaxError: unexpected EOF while parsing

顺便说一句,这里通常需要minimal complete and verificable example。如果您尝试构建一个,您通常只会包含 __init__ 函数。迭代一下,您可能会遇到 __add__ 函数中的错误。所以以后执行这样的程序,会提高你的理解力,增加得到好的答案的机会