找不出python的语法错误该如何解决?
来源 :中华考试网 2020-10-12
中python是一种解释型语言,在开发中,没有了编译这个环节。大部分脚本语言都是解释型语言。
没有了编译这个环节,在开发过程中,就无法知道自己所写代码的语法正确性,只有实际执行代码才知道语法是否正确。这样是不便于高效查错的。
所以,才有开源项目pyflakes的出现,它专门用于python程序的早期查错。
它使用起来非常简单,首先用pip安装(pip install --upgrade pyflakes),然后用这个命令(pyflakes xxx.py)就能检查xxx.py文件中的错误。
下面是几个例子:
例1:
python代码(xxx.py文件中)
import os
for i in range(10)
print(i)
python课程免费试听预约
- 地区:
- 北京
- 天津
- 上海
- 江苏
- 浙江
- 山东
- 江西
- 安徽
- 广东
- 广西
- 海南
- 辽宁
- 吉林
- 黑龙江
- 内蒙古
- 山西
- 福建
- 河南
- 河北
- 湖南
- 湖北
- 四川
- 重庆
- 云南
- 贵州
- 新疆
- 西藏
- 陕西
- 青海
- 宁夏
- 甘肃
- 姓名:
- 手机:
执行pyflakes xxx.py输出的结果
main1.py:3:19: invalid syntax
for i in range(10)
^
分析:
根据提示,在代码的第三行,语法错误
经检查,是for中少写了一个冒号
例2 :
python代码(xxx.py文件中)
import os
import time
import sys,os
for i in range(10):
print(i)
执行pyflakes xxx.py输出的结果
main2.py:2: 'time' imported but unused
main2.py:3: redefinition of unused 'os' from line 1
main2.py:3: 'os' imported but unused
main2.py:3: 'sys' imported but unused
分析:
代码第2行中,导入的time模块并未使用
代码第3行中的os多次导入(跟第1行重复)
例3:
python代码
for i in range(10):
print(x)
执行pyflakes xxx.py输出的结果
main3.py:2: undefined name 'x'
分析
代码第2行,x并未定义
这属于比较严重的错误,有时候可以发现变量名被敲错