0

2 つのクラス メソッドから文字列を作成しようとしています。しかし、私は

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 に答える