3

このコードを Python シェル 3.3.2 で実行しましたが、SyntaxError: invalid syntax.

class Animal(object):
    """Makes cute animals."""
    is_alive = True
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def description(self):
        print (self.name)
        print (self.age)

hippo = Animal("2312",21)#error occurs in that line
hippo.description()

私は Python の初心者で、このコードを修正する方法がわかりません。

アイドルからのスクリーンショット

4

1 に答える 1

6

コードを適切にインデントしませんでした。defメソッドの本体は正しくインデントされていますが、ステートメントに加えて、ドキュメント文字列とメソッドのステートメントをインデントするのを忘れていましたis_alive = True。次のように IDLE で入力すると、動作します。

>>> class Animal(object):
...     """Makes cute animals."""
...     is_alive = True
...     def __init__(self, name, age):
...         self.name = name
...         self.age = age
...     def description(self):
...         print(self.name)
...         print(self.age)
...
>>> hippo = Animal("2312", 21)
>>> hippo.description()
2312
21

ブロック ステートメントの本体は の後に続くものであり、:適切にインデントする必要があります。例えば:

if 'a' == 'b':
    print('This will never print')
else:
    print('Of course a is not equal to b!')

次のように入力すると、次のようになります。

if 'a' == 'b':
print('This will never print')
else:
print('Of course a is not equal to b!')

これは有効な Python 構文ではありません。

于 2013-06-05T04:30:21.707 に答える