0

我正在尝试从两个类方法形成一个字符串。但是,我得到一个

unsupported operand type(s) for +: 'instancemethod' and 'instancemethod'

以下代码错误:

class Root():

    def header(self):
        return '''<html>
                  <body>'''

    def footer(self):
        return '''</body>
                  </html>'''


a_root = Root()
a_string = a_root.header + a_root.footer
print(a_string)
4

3 回答 3

2

您缺少括号:

a_string = a_root.header() + a_root.footer()
于 2013-09-02T21:05:55.077 回答
1

您需要调用这些方法:

# There is no need to have 'Root()' if you aren't inheriting
class Root:

    def header(self):
        return '''<html>
                  <body>'''

    def footer(self):
        return '''</body>
                  </html>'''


a_root = Root()
# Call the methods by adding '()' to them
a_string = a_root.header() + a_root.footer()
print(a_string)
于 2013-09-02T21:06:26.250 回答
1

您正在使用这些方法,因此需要()调用

class Root():

    def header(self):
        return '''<html>
                  <body>'''

    def footer(self):
        return '''</body>
                  </html>'''


a_root = Root()
a_string = a_root.header() + a_root.footer()
print(a_string)
于 2013-09-02T21:07:23.617 回答