3

我在 Python shell 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 的新手,我不知道如何修复此代码。

来自 IDLE 的屏幕截图

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

块语句的主体是 a 之后的任何内容:,并且需要正确缩进。例如:

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 回答