Python报错,“SyntaxError: invalid syntax”

class Person(object):
... def _init_(self,name,age):
... self.name = name
... self.age = age
... def _repr_(self):
... return 'Person Object name : %s , age : %d' % (self.name,self.age)
... if _name_ == '_main':
... p = Person('Peter',22)
... print p
...
Traceback ( File "<interactive input>", line 7
if _name_ == '_main':
^
SyntaxError: invalid syntax
上面是我的源代码和报错信息,求解是什么原因?
我是按照网上一个教程输的,为什么我的会出错?难道是版本问题吗?
我的版本是2.7.8
if _name_ == '_main': 这里跟上面的class Person(object)是对齐的, 只是复制的时候没把class前面的符号复制进来了

__name__,__main__,__init__,__repr__都是双下划线。

给你个样例你试试。


class Person(object):
     def __init__(self,name,age):
         self.name = name
         self.age = age
         
     def __repr__(self):    
         return 'Person Object name : %s , age : %d' % (self.name,self.age)

if __name__ == '__main__':
    p = Person('Peter',22)
    print "%r" %p

追问

好的 谢谢!

追答

请采纳为答案

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-08
if前面加tab追问

出现了别的报错: NameError: name '_name_' is not defined

追答

不存在_name_这个变量
试试__name__
哦,那个if是不用缩进的,看错了

追问

可以了..原来是双下横线..
新手没看仔细!

相似回答