建立一个网站的前期资金,网络推广培训方案,做汽车配件的都在那个网站做呀,网站建设客户常见问题集锦19个常见的python错误和异常
错误总是不可避免#xff0c;尤其是在初学阶段#xff0c;本文收集整理了1个常见的python错误
1. 忘记添加:
在if, elif, else, for, while, class#xff0c;或者使用def定义函数的名称后面忘记添加:#xff0c;就会引发 SyntaxError
if 3 尤其是在初学阶段本文收集整理了1个常见的python错误
1. 忘记添加:
在if, elif, else, for, while, class或者使用def定义函数的名称后面忘记添加:就会引发 SyntaxError
if 3 4
print(ok)
这是一种非常明显的错误大多数编辑器在你写代码的时候就会用红色的波浪线提示你
2. 误将 当做
a 4
if a 4:
print(ok)
即便是多年编程经验的老手也会偶尔犯这种错误写的太着急了就少打了一个得到的自然也是SyntaxError
3. 错误的缩进空格数量
if 11:
print(1)
print(2)
这段代码将引发错误“IndentationError: unindent does not match any outer indentation level” 一次缩进是4个空格这一点务必要牢记
4. 错误使用range函数
lst [1, 2, 3]
for i in range(lst):
print(lst[i])
这段代码的本意是通过索引来遍历列表但错误的使用了range函数引发了错误“TypeError: list object cannot be interpreted as an integer”, 正确的做法如下
lst [1, 2, 3]
for i in range(len(lst)):
print(lst[i])
5. 尝试修改字符串的内容
字符串是不可变对象无法修改字符串里的内容下面的代码将会引发错误“TypeError: str object does not support item assignment”
s i like python
s[0] I
print(s[0])
6. 尝试将非字符串数据与字符串连接
print(I have 3 books)
上面的代码尝试将字符串与int类型数据连接在一起由于他们类型不同会导致错误“TypeError: must be str, not int”
7. 字符串缺少引号
print(hello world)
创建字符串可以是用一对单引号或者一对双引号或者一对 上面的代码会引发错误“SyntaxError: EOL while scanning string literal”
8. 使用未定义的变量
sname lilei
print(my name is name)
print语句中需要用到的变量name事先并没有被定义就会引发错误“NameError: name name is not defined”
9. 调用对象没有的方法
string PYTHON
# 经过一些操作后,string变成了None
string None
print(string.lower())
string原本是字符串但进过一些操作后变成了其他对象可能是int或者None不论变成什么总是它都不再是字符串没有了lower方法这时你再去调用lower方法就会报错“AttributeError: NoneType object has no attribute lower”
10. 访问不存在的索引
lst [1, 2, 3]
print(lst[6])
列表最大的索引是2代码里尝试访问索引6就会引发索引错误“IndexError: list index out of range”
11. 使用一个不存在的key
需要通过key来操作字典如果key不存在就会引发错误“KeyError”
dic {
name: lili,
age: 14
}
print(dic[sex])
12. 使用保留字做变量
class python
print(class)
python的保留字不能作为变量上面的代码会引发错误“SyntaxError”
13. 使用不存在的内置函数
lst [1, 2, 3]
print(avg(lst))
这个错误与第8个错误相似都是使用了一个不存在的对象
14. 在函数内修改全局不可变对象
这是一个比较复杂的错误先来看下面的代码
a 10
def func():
print(a)
func()
程序正常执行可以输出10对代码稍作修改
a 10
def func():
print(a)
a 20
func()
多了一行a 20后再次运行代码就会报错“UnboundLocalError: local variable a referenced before assignment”为什么会这样呢?a原本是一个全局变量在第一段代码里可以正常访问但是第二段代码里尝试对变量a进行修改一旦有了修改这个动作解释器就认为变量a是一个局部变量而不在是全局变量。那么在a 20这条语句之前尝试输出a的内容就会报错因为在执行print(a)时局部变量a还不存在。
15. 修改range的返回值
lst range(10)
lst[0] 20
print(lst)
range函数创建一个整数序列但这个序列并不是列表而是一个迭代器无法使用索引来进行任何操作否则就会引发错误TypeError: range object does not support item assignment
16. 使用 或 --操作
a 0
a
print(a)
很多语言都支持 操作但很遗憾python并不支持上面的代码会报错“SyntaxError: invalid syntax”上面的代码可以修改成这样
a 0
a 1
print(a)
17. 函数调用时参数数量错误
错误1
def func(a, b):
return a b
print(func(4))
错误2
def func(a, b):
return a b
print(func(4, 4, 5))
函数需要两个参数错误1里在调用函数时只提供了1个参数错误2里提供了3个错误都会引发TypeError错误内容分别是“TypeError: func() missing 1 required positional argument: b” 和 “TypeError: func() takes 2 positional arguments but 3 were given”
18. 缺少安装包
import requests
如果你并没有安装requests库程序在执行时就会报错“ImportError: No module named requests”不要慌使用pip安装就好了
19. 文件路径错误
f open(a.txt)
print(f.read())
如果根本不存在a.txt这个文件那么就会报错“FileNotFoundError: [Errno 2] No such file or directory: a.txt” 打开一个不存在的文件就会引发FileNotFoundError。这个错误对于初学者来说来烦恼了尤其是windows用户他们有时候会信誓旦旦的说这个文件存在啊
程序是不会骗人的它说不存在就一定是不存在你的文件地址一定是错了检查一下路径里究竟用的是/ 还是 \\ 另外检查一下是不是隐藏了文件的后缀。