python编程时显⽰语法错误_Python编程的10个经典错误及解
决办法
接触了很多Python爱好者,有初学者,亦有转⾏⼈。不论⼤家学习Python的⽬的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下⾯,严⼩样⼉为⼤家罗列出Python3⼗⼤经典错误及解决办法,供⼤家学习。
⼀、 SyntaxError 语法错误
(1)引号没有成对出现
报错信息:
SyntaxError:EOL while scanning string literal
错误⽰例:
string = 'hello world
解决⽅法:
字符串切记要放在引号中,单引号双引号⽆所谓。当⼀个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。
(2)圆括号没有成对出现
报错信息:
SyntaxError:unexpected EOF while parsing
错误⽰例1:
result = (1024+(512*2)/128
错误⽰例2:
print('hello world'
解决⽅法:
使圆括号成对出现。在书写复杂的表达式或调⽤函数时会经常遇到这个问题。
(3)错误使⽤⾃操作运算符++或--等
报错信息:
SyntaxError:invalid syntax
错误⽰例:
v = 64
v++
解决⽅法:
在Python语⾔中,没有类似C语⾔的++或--等⾃操作运算符。与之类似功能的⽤法是+=或-=运算符。例如,使⽤下⾯的代码进⾏让变量v 进⾏⾃增1的操作。v += 1
(4)试图使⽤等号(=)判断两个运算量是否相等
报错信息:
SyntaxError:invalid syntax
if v=64:2
print('hello world')
解决⽅法:
在Python语⾔中使⽤两个等号(==)作为判断两个运算量是否相等的关系运算符,⽽等号(=)是赋值运算符。
(6)错误使⽤Python语⾔关键字作为变量名
报错信息:
SyntaxError: can`t assign to keyword
错误⽰例:
False= 1
解决⽅法:
不要使⽤Python语⾔关键字作为变量名、函数名或类名等。在Python Shell窗⼝中,使⽤help('keywords')指令可以查看Python语⾔的关键字列表。
(7)忘记在if/elif/else/while/for/def/class等语句末尾添加冒号(:)
报错信息:
SyntaxError:invalid syntax
错误⽰例1:
a = '12345'
for i in a
print(i)
错误⽰例2:
接触了很多Python爱好者,有初学者,亦有转⾏⼈。不论⼤家学习Python的⽬的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下⾯,严⼩样⼉为⼤家罗列出Python3⼗⼤经典错误及解决办法,供⼤家学习。
[图⽚上传中...(image-fa9060-1592896924739-0)]
⼀、 SyntaxError 语法错误
(1)引号没有成对出现
报错信息:
SyntaxError:EOL while scanning string literal
错误⽰例:
string = 'hello world
解决⽅法:
字符串切记要放在引号中,单引号双引号⽆所谓。当⼀个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。
(2)圆括号没有成对出现
报错信息:
SyntaxError:unexpected EOF while parsing
result = (1024+(512*2)/128
错误⽰例2:
print('hello world'
解决⽅法:
使圆括号成对出现。在书写复杂的表达式或调⽤函数时会经常遇到这个问题。
(3)错误使⽤⾃操作运算符++或--等
自然数的定义
报错信息:
SyntaxError:invalid syntax
错误⽰例:
v = 64
v++
forgiveness解决⽅法:
在Python语⾔中,没有类似C语⾔的++或--等⾃操作运算符。与之类似功能的⽤法是+=或-=运算符。例如,使⽤下⾯的代码进⾏让变量v 进⾏⾃增1的操作。v += 1
(4)试图使⽤等号(=)判断两个运算量是否相等
报错信息:
SyntaxError:invalid syntax
错误⽰例:
if v=64:2
print('hello world')
解决⽅法:
在Python语⾔中使⽤两个等号(==)作为判断两个运算量是否相等的关系运算符,⽽等号(=)是赋值运算符。
(6)错误使⽤Python语⾔关键字作为变量名
报错信息:
SyntaxError: can`t assign to keyword
错误⽰例:
win10自动弹出jsonFalse= 1
解决⽅法:
不要使⽤Python语⾔关键字作为变量名、函数名或类名等。在Python Shell窗⼝中,使⽤help('keywords')指令可以查看Python语⾔的关键字列表。
(7)忘记在if/elif/else/while/for/def/class等语句末尾添加冒号(:)
报错信息:
SyntaxError:invalid syntax
错误⽰例1:
for i in a
print(i)
错误⽰例2:
def sayhi()
print('Hi')
解决⽅法:
在if/elif/else/while/for/def/class等语句末尾添加冒号(:)即可。牢记语法规则,多多练习多多敲代码。
(8)错误地使⽤了中⽂标点符号
报错信息:
SyntaxError: invalid character in identifier
错误⽰例1:
print('hello','world')
# 错误原因:逗号是中⽂标点符号
错误⽰例2:
数学向上取整符号怎么写for i in range(10):
# 错误原因:冒号是中⽂标点符号
解决⽅法:
除了字符串中可以有中⽂外,其它任何情况均使⽤英⽂状态进⾏编辑。
⼆、 IndentationError 缩进错误报错信息:
IndentationError:unindent does not match any outer indentation level
IndentationError:expected an indented block
错误⽰例:
a = 2
while a < 0:
print('hello')
a -= 1
else:
print('0.0')
解决⽅法:
上述代码中while语句体内的代码缩进没有对齐。正确使⽤缩进排版代码。当代码是从其它地⽅复制并粘贴过来的时候,这个错误较多见。
三、 NameError 名字错误
当变量名、函数名或类名等书写错误,或者函数在定义之前就被调⽤等情况下,就会导致名字错误。报错信息:
NameError: name 'pirnt' is not defined
NameError: name 'pd' is not defined
错误⽰例1:
pirnt('hello world')
# 错误原因:print拼写错误。
错误⽰例2:
sayhi()python基础代码写字
def sayhi():
pass
错误原因:在函数定义之前对函数进⾏调⽤。
错误⽰例3:
# 错误原因:在调⽤pandas⽅法前并未导⼊pandas库或者并未起别名为pd。
解决⽅法:
正确书写变量名、函数名或类名等,在使⽤变量前先进⾏赋值,将函数的定义放在函数调⽤之前,在使⽤第三⽅库前先进⾏导⼊、调包等等。即保证某个名字(标识符)先存在,才能被使⽤。
四、 TypeError 类型错误
(1)整数和字符串不能进⾏连接操作
报错信息:
python安装教程及配置视频TypeError: Can`t convert 'int' object to str implicitly
TypeError: unsupported operand type(s) for + : 'float' and 'str'
错误⽰例1:
print('score:'+100)
错误⽰例2:
print(9.8 + 'seconds')
解决⽅法:
在整数、浮点数或布尔值与字符串进⾏连接操作之前,先使⽤str()函数将其转换为字符串类型。
(2)调⽤函数时参数的个数不正确,或者未传递参数
报错信息:
TypeError: input expected at most 1 arguments,got 2
TypeError: say() missing 1 required positional argument:'words'
错误⽰例1:
input('输⼊姓名','年龄')
# 错误原因:试图给input()函数提供第2个参数。
错误⽰例2:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。