2013-06-05 4 views
0

Я запустил этот код в оболочке python 3.3.2, но он дает мне SyntaxError: invalid syntax.Python: зачем здесь недействительный синтаксис?

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 #error occurs in that line! 
     print self.age 

hippo=Animal('2312','321312') 
hippo.description() 

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

ответ

3

print is a function in Python 3, не является ключевым словом, как это было в предыдущих версиях. Вы должны заключить аргументы в круглые скобки.

def description(self): 
    print(self.name) 
    print(self.age) 
2

print является функцией (see the docs):

Вы хотите:

... 
def description(self): 
    print(self.name) 
    print(self.age) 
... 
2

Вы используете print как заявление. Это уже не утверждение в Python 3; теперь это функция. Просто назовите его как функцию, и вы должны быть настроены.

print(self.name) 
print(self.age) 
2

В python 3, print self.name недействителен.

Это должно быть

print (self.name) 
print (self.age) 
Смежные вопросы