Python安装错误会引发异常吗?新手类传参报错求排查
问题分析与解决办法
第一个错误的原因
你第一段代码的语法本身是正确的,报错TypeError: Item() takes no arguments,大概率是以下两种情况:
- PyCharm没有运行当前编辑的代码文件,而是执行了旧的缓存文件(比如之前写过一个无
__init__方法的Item类) - 当前代码文件中存在重复的
Item类定义,后面的无参数类覆盖了前面的定义
第二个错误的原因
把*args写在类定义的括号里是错误语法。类名后的括号用于指定父类(Python3中可省略默认继承object),*args是函数/方法的参数写法,不能直接放在类名后,因此触发NameError: name 'args' is not defined。
解决步骤
- 确认运行文件:在PyCharm右上角检查运行目标,确保是当前编辑的代码文件,而非其他旧文件
- 清理PyCharm缓存:点击
File->Invalidate Caches...,选择Invalidate and Restart,重启后重新运行代码 - 检查重复定义:确保当前文件中只有一个
Item类的定义,无覆盖情况 - 直接运行正确代码:你的第一段代码本身无语法问题,直接执行即可:
class Item: def __init__(self, name): print(name) example = Item("example_2")
运行后应输出example_2
若仍有问题,可尝试在命令行直接运行代码验证:将代码保存为test.py,打开命令行进入文件目录,执行python test.py。如果命令行运行正常,说明问题出在PyCharm的运行配置或缓存。
内容的提问来源于stack exchange,提问作者Ahmed Almunqedhi
相关产品推荐
相关产品推荐

