1.python版本的问题,自身代码书写格式有误
1) 在python2.x中,类的继承格式如下,函数super()需要两个实参:子类名和对象self。为帮助python将父类和子类联系起来,这两个参数必不可少。
2) 在python3.x中,类的继承格式如下,函数super()不需要携带实参
编写代码时注意自己要运行的版本,格式问题
2.编辑器没有配置正确的python环境
我用的是sublime text,这个编辑器默认的python环境是2.x,即使你电脑上已经将默认python设置为了3.x,sublime运行python代码时依然匹配的是python2.x,所以需要在sublime中添加python3的运行环境(图中我已经添加好python3的环境了)
网上可以搜的到,把原链接放到这里记录下,侵删,这个是比较直观的,正好解决我的问题:https://blog.csdn.net/weixin_41768008/article/details/79859008
1) tools-->build system-->new build system
2)出现如下图文件,更改文件内容
上图路径是你的python3 路径,保存,文件名python3.sublime-build
3)勾选运行环境,command+b运行你的程序即可:
-----------------------------------------------------------------------------------------------------------------------------
记录下我遇到的问题:
使用python3的格式来写类的继承,出现super() takes at least 1 argument (0 given)这样的问题
都说是因为我用python2来运行的,所以不正确,需要改格式,但是改了格式之后,又出现must be type, not classobj这样的问题
看有的帖子说继承那儿需要换一种写法,父类名.__init__(self,参数1,参数2),这样确实可以运行出来,但是原因现在我还不太清楚,研究明白之后再记录
这个时候我就想是不是sublime的问题,所以使用终端运行了使用python3写的继承代码,结果是成功的(macbook之前已经将python3设置为默认),说明就是我的su blime text 有问题,我没有添加python3的运行环境导致的,添加上就可以了