开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习。
知识在于积累嘛!微笑
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
错误:
错误:
错误:
【错误分析】join是split的逆方法,是非常重要的字符串方法,但不能用来连接整数型列表,所以需要改成:
错误:
【错误分析】因所用的Python版本2.7,比较高的版本,raise触发的异常,只能是自定义类异常,而不能是字符串。所以会报错,字符串改为自定义类,就可以了。
执行上面一段代码,错误如下:
【错误分析】Python中调用类的方法,必须与实例绑定,或者调用自身.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【错误分析】args是一个元祖,如果是f(args),那么元祖是作为一个整体作为一个参数
*args,才是将元祖中的每个元素作为参数
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【错误分析】错误原因**匹配并收集在字典中所有包含位置的参数,但传递进去的却是个元祖。
所以修改传递参数如下:

【错误分析】在函数hider()内使用了内置变量open,但根据Python作用域规则LEGB的优先级:
先是查找本地变量==》模块内的其他函数==》全局变量==》内置变量,查到了即停止查找。
所以open在这里只是个字符串,不能作为打开文件来使用,所以报错,更改变量名即可。
可以导入__builtin__模块看到所有内置变量:异常错误、和内置方法
【错误分析】字典中的键必须是不可变对象,如(整数,浮点数,字符串,元祖).
可用hash()判断某个对象是否可哈希
【错误分析】列表属于可变对象,其append(),sort(),reverse()会在原处修改对象,不会有返回值,
或者说返回值为空,所以要实现反转并排序,不能并行操作,要分开来写
【错误分析】class是Python保留字,Python保留字不能做变量名,可以用Class,或klass
同样,保留字不能作为模块名来导入,比如说,有个and.py,但不能将其作为模块导入
【错误分析】错误原因,else, finally执行位置;正确的程序应该如下:
报错如下:
【错误分析】双下划线的类属性__secretCount不可访问,所以会报无此属性的错误.
解决办法如下:
【错误分析】Python不允许使用未赋值变量
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【错误分析】空元祖和空列表,没有索引为0的项
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【错误分析】一般出在代码缩进的问题
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【错误分析】如果文件里面没有行了会报这种异常
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SingBird是Bird的子类,但如果调用Bird类的eat()方法时,
【错误分析】代码错误很清晰,SingBird中初始化代码被重写,但没有任何初始化hungry的代码
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号