品易云推流 关闭
文章详情页
文章 > Python常见问题 > 找不出python的语法错误该如何解决?

找不出python的语法错误该如何解决?

Python 语法

头像

哈登

2020-06-04 17:47:003729浏览 · 0收藏 · 0评论

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)

执行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并未定义

  • 这属于比较严重的错误,有时候可以发现变量名被敲错

总结

本例中的错误,在实际代码运行时,若走不到这个逻辑,运行也不会报错。这留下了很严重的BUG,难以察觉。但用pyflakes,就能很快发现这些问题。

更多Python知识,请关注:Python自学网!!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图