2013-06-05 2 views
1

Я запускаю этот код в оболочке 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() 

Я новичок в питоне, и я не знаю, как исправить эти коды. Может ли кто-нибудь дать мне совет? Заранее спасибо.

экран разрезанные IDLE:

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

+0

Ваш код работает нормально. http://ideone.com/PSdx8P –

+0

Я пробовал свой код и нет ошибки. – zhangyangyu

+0

Это в Codecademy? Потому что их IDLE может очень сильно ошибиться ... – TerryA

ответ

3

Вы не указали свой код должным образом. Тело ваших методов правильно отловлено, но вы забыли указать строку doc и оператор 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.

+0

Ничего себе! Ты прав!! Действительно thx !! – Sayakiss

-1

Я проверить следующий код и он работает хорошо.

#!/usr/bin/python 
class Animal(object): 
    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() 
+0

Это тот же фрагмент кода, который опубликовал опросник? Если это так, то это не ответ, а комментарий. – Freakyuser

Смежные вопросы