【Spyder】 def__init__(self,):#初始化方法 ^SyntaxError: invalid syntax和TypeError: Tom() takes no arguments 除了下划线的问题还有什么问题
我用的spyder
!!!!注意:init 前面是空格再跟两个下划线,后面是 两个下划线
正确代码:
class Tom:
def __init__(self,name,age):
self.name=name
self.age=age
stu1=Tom('tom',21)
我开始有两次报错:
def__init__(self,name,age):#初始化方法
^
SyntaxError: invalid syntax
这里明明是前后两条下划线,然后我朋友说init前面是空格,我又改了,结果出现下面这个错误:
stu1=Tom('tom',21)#看好上面类的初始化方法里有两个变量
TypeError: Tom() takes no arguments
Spyder正确的写法:init前面是 空格+两个下划线,后面是两个下划线
这样写之后就解决了,我看其他回答都是前后两个下划线,没有空格,就会报错,但是可能因为spyder不一样???我前后两条下划线试了好多次都不行,想到我朋友说的空格,我在前面加了个空格,就奇迹般的好了!!!