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教程网!!

python中冒号的语法错误_找不出python的语法错误该如何解决?相关推荐

  1. python中for语句的使用_对Python中for复合语句的使用示例讲解

    当Python中用到双重for循环设计的时候我一般会使用循环的嵌套,但是在Python中其实还存在另一种技巧--for复合语句. 简单写一个小程序,用于延时循环嵌套功能如下: #!/usr/bin/p ...

  2. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  3. python中使用函数编程的意义_总结Python编程中函数的使用要点

    为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函数对象并将其赋值给一个变量 ...

  4. python中matrix是什么意思_初识Python

    初识Python 跟学习所有的编程语言一样,首先得了解这门语言的编程风格和最基础的语法.下面就让我们一起来了解一下Python的编程风格. 1.逻辑行与物理行 在Python中有逻辑行和物理行这个概念 ...

  5. python中递归函数的基例_详谈Python基础之内置函数和递归 Python递归和循环的区别...

    Python 递归函数基例 2. 关于递归函数基例的说明,以下选项中错误的是 A 递归函数的基例决定所谓基例就是不需要递归就能求解的,一般来说是问题的最小规模下的解. 例如:斐波那契数列递归,f(n) ...

  6. python中二进制和文本不同_关于Python字符编码与二进制不得不说的一些事

    二进制 核心思想: 冯诺依曼 + 图灵机 电如何表示状态,才能稳定? 计算机开始设计的时候并不是考虑简单,而是考虑能自动完成任务与结果的可靠性, 简单始终是建立再稳定.可靠基础上 经过尝试10进制,但 ...

  7. python中怎样使用re模块_[转]Python中RE模块的应用

    Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式.Emacs 风格模式可读性稍差 ...

  8. python中if elif语句优化_在Python中优化ifelif表达式

    实现最佳性能的一种简单方法是构建一个大表,存储所有可能的(a, b)对的结果.但是,这可能会消耗大量内存,并且对于大的n来说是不实际的 下面是如何使用普通方法优化代码,如下所述.在 1.将显式and用 ...

  9. python中矩阵的表示方法_关于Python表示矩阵的方法详解

    这篇文章主要介绍了Python表示矩阵的方法,结合具体实例形式分析了Python表示矩阵的方法与相关操作注意事项,需要的朋友可以参考下 本文实例讲述了Python表示矩阵的方法.分享给大家供大家参考, ...

  10. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

最新文章

  1. GitHub开源游戏:CityBound(模拟城市)
  2. 目标10亿部?苹果AR眼镜有望明年登场!传搭载Mac级处理器、4K显示屏
  3. 八大排序算法的python实现(四)快速排序
  4. 提示语_《流浪地球》里洗脑的交通提示语怎么来的?吴京可能要“负全责”
  5. 第15章习题解答(一)——《x86汇编语言:从实模式到保护模式》读书笔记40
  6. MFC应用程序框架入门
  7. 为什么我会了SOA,你们还要逼我学微服务?
  8. BinarySearch 有序表的二分查找
  9. 链表、头指针、头结点
  10. SQL常用的几个窗口函数
  11. 被迫开源的都是快要死的
  12. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)
  13. xshell连接liunx服务器身份验证不能选择password
  14. 《python(廖雪峰课程)》学习笔记
  15. 工程伦理_慕课网_第十三讲参考答案
  16. 【SQL查询表中某一字段重复的数据】
  17. SpringBoot定时任务说明
  18. Shell(Bash) - PHP与Sheel交互
  19. 专科计算机组成原理大一试题及答案,计算机组成原理专科试题答案
  20. Power BI--如何给堆积条形图增加总计

热门文章

  1. 蓝桥杯 逆波兰表达式——2013年省赛C/C++A组真题6
  2. java环境问题_1_JAVA语言的特点及配置环境问题
  3. unity读取json文件以及反序列化Dic示例
  4. 点击场景中的物件无法定位到Hierarchy
  5. dj打碟怎么学_关于DJ入门以及手把手教你如何打碟(转)
  6. 上面两点下面一个三角形_【人人都能欣赏的数学证明】为什么三角形的三个内角相加是180度?...
  7. mysql join 去重_对mysql left join 出现的重复结果去重
  8. ASPNET2.0 发布问题
  9. spring cloud gateway 源码解析(4)跨域问题处理
  10. MySQLl数据量不一样,导致走不同的索引