创建类的实例时语法无效

时间:2013-06-05 04:16:01

标签: python syntax

我在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:

http://t2.qpic.cn/mblogpic/93b01c462b4c6dbfe268/460

1 个答案:

答案 0 :(得分:3)

您没有正确缩进代码。方法的主体正确缩进,但除了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语法。