Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
但是python2.X则可能遇到
在前面加上
#!/usr/bin/python
#-*- coding: UTF-8 -*-
语法错误
1.SyntaxError: invalid syntax 语法错误,无效的语法
2.SyntaxError: Missing parentheses in call to ‘print’
print少了括号(python3中的print必须带括号
3.SyntaxError: EOL while scanning string literal 转义字符出错
4.循环语句、条件语句一定要冒号!
当语句以冒号:结尾时,缩进的语句视为代码块
否则提示 SyntaxError: invalid syntax 语法错误,无效的语法
5.冒号中的模块不需要用/+return来换行,只需要直接回车,两次回车表示结束。只需要否则会显示invalid syntax语法错误。
类型错误
1. TypeError: unorderable types: 类型错误 比如把str与int比较
2.TypeError: unsupported operand type(s) for ^: 'float' and 'int'
类型不支持^这个符号
调用函数的时候,如果传入的参数数量不对,会报TypeError的错误
3.TypeError: 'str' object is not callable当一般内部函数被用作变量名后可能出现此错误。
4.TypeError: a() takes 1 positional argument but 2 were given 只有1个参数位置,输入了两个
5.TypeError: a() missing 1 required positional argument: 'i' 缺少了一个参数
6.TypeError: 'type' object is not subscriptable 某类型的变量不可以这么用
如int[n] 会出现错误’Int' object is not subscriptable 某类型的变量不可以这么用
缩进错误
IndentationError: unexpected indent 缩进错误 语句或自变量前面存在不需要的空格
索引错误
IndexError: list index out of range索引越界
可以是负数的索引 n个元素 索引从-n到n-1
运行错误
1.RuntimeError: maximum recursion depth exceeded in comparison栈溢出 运行次数过多
2.for in 循环与print不可以连着使用,否则会认为未循环结束
可以分开输入或者中间加一行空的(不可以有四个缩进,否则认为是循环中间的)
循环错误
RecursionError:maximum recursion depth exceeded循环次数过多造成(可能是死循环)
其它错误
UnboundLocalError: local variable 'foobar' referenced before assignment详细见局部变量和全局变量