Python object() takes no parameters

以你之姓@ 2022-05-23 04:39 233阅读 0赞
  • 前言
  • Trouble shooting
  • 找到问题
  • PyCharm venv Python版本
  • 参考文章:

前言

在PyCharm中练习写class的时候遇到“TypeError: object() takes no parameters”的错误。

Trouble shooting

第一反应是,是不是Python版本用的是2.x而不是3.x。

在venv/bin目录下输入python --version, “果然“是Python 2.7.10。

然后就走入歧途了,开始查找怎么指定Python Interpreter为Python 3.x,但是看来看去PyCharm都已经指向Python 3.x了。

放弃,改用Python 2.7的语法class ClassName(object) ,却还是一样的错。

疯了。

找到问题

搜索CSDN后发现如果把__init__ 的方法名写错了,Python会因为找不到__init__ 方法也会报这个错误。

  • 错误一:左边或右边只写了1个下划线,正确是左右两边都是2个下划线。
  • 错误二:把init写了int。

我就是犯了错误二,因为我用的是PyCharm自动完成功能,看到了in开头的方法提示就按回车了。

小结:

  • __init__ 表示初始化构造方法
  • 下滑线通常表示私有的意思,两个下划线就是强调是Python私有
  • 初始化的英文是Initialize,缩写为init

PyCharm venv Python版本

我在前面查Python版本时犯的错:

在 venv/bin目录下应该执行./python --version 而不是python --version。前者是PyCharm Virtual Env中的Python版本,后者是环境变量PATH中的Python版本。

我的PyCharm中的Python版本其实就是3.x。

参考文章:

  • https://blog.csdn.net/lifelegendc/article/details/72382070

发表评论

表情:
评论列表 (有 0 条评论,233人围观)

还没有评论,来说两句吧...

相关阅读