常见的编程错误

2.1  试图访问一个未赋值的变量,会产生运行时错误。

2.2  ==,!=, >=和<=这几个运算符的两个符号之间出现空格,会造成语法错误。

2.3  !=,<>,  >=和<=这几个运算符中,假如两个字符的顺序弄反了(分别写成=!,><, =>,=<),会造成语法错误。

2.4  切不可将相等运算符"=="同赋值运算符"="弄混了。其实按正统逻辑,在读的时候,相等与算符才应读成"...等于..."。赋值运算符则应该读成"...获得...",”获得...的值“或者"被赋值为..."。有人喜欢把相等运算符读成"等于等于"。在python中,如果在条件语句中使用了错误的赋值符号,会造成语法错误。

2.5  忘记在if结构中插入冒号(:)使语法错误。

2.6  忘记对if结构的主体进行缩进(缩排)使语法错误

2.7  如果一个区域包含的代码行没有统一进行缩进,python解释器会认为那些行属于其他区域,因而造成语法或逻辑错误

3.1  将关键字用作标识符是语法错误

3.2  没有对从属于if或else这两种suite的全部语句进行正确缩进,会造成语法错误。

3.3  忘记对suite中的所有语句进行缩进,会导致语法或逻辑错误

3.4  除以零是严重的逻辑错误

3.5  所有控制结构至少要包含一个语句。不包含语句的控制结构会导致语法错误。

3.6  在while结构主体中,如果没有提供最终会造成while条件编程false的一项行动,会造成"无限循环"这种逻辑错误--重复结构永远不能终止

3.7  如将关键字while评成While,会导致语法错误(python区分大小写)所有python保留关键字,比如while,if,elif和else等等,都只能采用小写字母。

3.8  选择合法数据作为哨兵值,会造成逻辑错误。

3.9  将所有浮点数都假设为是精确的,会导致不正确的结果。浮点数在大多数计算机中只是近似值。

3.10  在条件语句中用符号=来判断相等性是语法错误

3.11  用运算符==赋值是逻辑错误

3.12  在赋值符号左边的变量初始化之前试图使用增量赋值是错误的

3.13  由于浮点值可能是近似值,所以如果用浮点变量控制循环计数,可能导致不准确的计数器值,不能准确检测终止条件。程序应该用整数值控制循环计数。

3.14  如果忘记range函数返回的序列的第一个值是0(前提是提供了下界),可能导致值相差1的错误。

3.15  如果忘记range函数返回的序列的最后一个值比函数的end参数值小1,可能会导致值相差1的错误。

3.16  创建一个没有主体语句的for结构是语法错误。

4.1  使用math模块的函数时,忘记导入math模块属于运行时错误。只有导入模块,才能使用其中的函数和变量。

4.2  用import语句导入模块后,如果忘记为它的函数附加模块名前缀,就会造成运行时错误。

4.3  忘记在函数参数列表后添加冒号:是语法错误。

4.4  函数调用中的圆括号是python运算符,是它导致了函数调用。如遗漏圆括号,函数不会被调用。通常,控制权会转交给语句。如print语句包含一个无圆括号的函数调用,会显示函数的内存位置。如用户希望将函数调用的结果指派给函数,没有圆括号的函数调用就会将函数本身同变量绑定。

4.5  函数主体没有缩进是语法错误。

4.6  用局部命名空间中的一个标识符遮蔽模块或内建命名空间中的一个标识符,可能引起逻辑错误。

4.7  如遗漏基本条件,或错误编写递归调用,就会造成最终无法会汇聚于基本条件,从而导致无穷递归,最终耗尽内存。这类似于重复(非递归)方案中的无限循环问题。

4.8  让用于解决非递归算法的一个函数调用自身(无论直接还是间接)是逻辑错误。

4.9  默认参数必须全部靠右。省略非靠右的参数是语法错误。

4.10  在函数调用中错误放置或遗漏非关键字参数的值是错误的。

5.1  注意“序列第7个元素”和“序列元素7”的差异。序列下标自0开始,所以“序列第七个元素”的下标是6.相反,“序列元素7”的下标就是7,即c[7],而且实际是序列的第8个元素。如果混淆这两种说法,就会导致“相差1”错误。

5.2  引用序列之外的元素是错误的。

5.3  将列表或字典用作一个字典的“键”是语法错误。

5.4  试图访问不存在的字典键会引发KeyError异常,这是一种运行时错误。

6.1  运行脚本的web服务器不理解.py扩展名时,忘记在CGI脚本第一行添加预编译指令(#!),是错误的。

6.2  忘记在HTTP标头之后添加空行是错误的。

python常见的编程错误的更多相关文章

  1. 大数据揭示的10个常见JAVA编程错误

    初学者最常犯的编程错误是什么呢?有可能他们总是混淆等值(==)与赋值(=),或者 & 和 &&:也有可能是他们在循环中使用错误的分隔符(for (int i = 0, i &l ...

  2. Python常见的运行错误

    (1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 "SyntaxError :invalid syntax&quo ...

  3. python 常见错误和异常 函数 正则表达式及多线程编程

    生成随机密码#!/usr/bin/env python import stringfrom random import choice def gen_pass(num=9): all_chs = st ...

  4. 【转】《深入理解计算机系统》C程序中常见的内存操作有关的典型编程错误

    原文地址:http://blog.csdn.net/slvher/article/details/9150597 对C/C++程序员来说,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构 ...

  5. 错误内存【读书笔记】C程序中常见的内存操作有关的典型编程错误

    题记:写这篇博客要主是加深自己对错误内存的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 对C/C++程序员来讲,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构成的 ...

  6. 《深入理解计算机系统》C程序中常见的内存操作有关的典型编程错误

    对C/C++程序员来说,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构成的模块跑起来后才出现内存崩溃,是很让人痛苦的.因为崩溃的位置在时间和空间上,通常是在距真正的错误源一段距离之后才 ...

  7. Python常见的错误汇总

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 错误: [错误分析]第二个参数必须为类,否则会报TypeError,所以正确的应 ...

  8. Python常见十六个错误集合,你知道那些?

    使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法. 1.ValueError: 'Conv2d_1a_3×3' is not a valid scope name 这个是 ...

  9. (转载)android开发常见编程错误总结

    首页 › 安卓开发 › android开发 android开发常见编程错误总结 泡在网上的日子 / 文 发表于2013-09-07 13:07  第771次阅读 android,异常 0 编辑推荐:稀 ...

随机推荐

  1. SPOJ - BALNUM Balanced Numbers

    题意: 求出所给范围内满足其数位上的奇数出现偶数次,数位上的偶数出现奇数次(或不出现)的数的个数. 思路: 对于0 ~ 9 每个数有3种情况. 1.没出现过 2.出现奇数次 3.出现偶数次 那么就可以 ...

  2. [HNOI2015][bzoj4009] 接水果 [整体二分+扫描线]

    题面 传送门 思路 本题其实有在线做法......但是太难写了,退而求其次写了离线 基本思路就是,考虑一个盘子以及它能接到的所有水果 可以发现,这个水果的端点一定在这个盘子两端的"子树&qu ...

  3. POJ 3177 Redundant Paths 无向图边双联通基础题

    题意: 给一个无向图,保证任意两个点之间有两条完全不相同的路径 求至少加多少边才能实现 题解: 得先学会一波tarjan无向图 桥的定义是:删除这条边之后该图不联通 一条无向边(u,v)是桥,当且仅当 ...

  4. Struts2---ActionContext和ServletActionContext小结

    转载自:http://www.cnblogs.com/tanglin_boy/archive/2010/01/18/1650871.html感谢原文作者的总结 1. ActionContext 在St ...

  5. bzoj 1111 - 四进制的天平

    Description 给定 1000的十进制数, 求 最小的 四幂拆分 方案 有多少种 Solution 先大除法 \(n\log_4(n)\)次取余转化为 四进制数. 然后从 低位 往 高位 \( ...

  6. ARM嵌入式开发中的GCC内联汇编__asm__

    在针对ARM体系结构的编程中,一般很难直接使用C语言产生操作协处理器的相关代码,因此使用汇编语言来实现就成为了唯一的选择.但如果完全通过汇编代码实现,又会过于复杂.难以调试.因此,C语言内嵌汇编的方式 ...

  7. [摸鱼] 配置的tmux的使用攻略!

    o~/.tmux.conf <>=ctrl b <>$ 重命名 <>% 水平切割 <>" 垂直切割 <>o 下一个窗口 <& ...

  8. node.js批量重命名文件

    把当前路径的img文件夹里面的文件加上.png后缀 var fs = require("fs"); var path = 'img' fs.readdir(path, functi ...

  9. Ubuntu16.10 +python3.5+Tensorflow 1.1

    1.python版本检查 因为Ubuntu16.10已经默认安装了python2.7 和 3.5,检查python版本, 如果为python2.7,那么就需要我们设置python3.5为默认版本. 查 ...

  10. Codeforces Round #447 (Div. 2) B. Ralph And His Magic Field【数论/组合数学】

    B. Ralph And His Magic Field time limit per test 1 second memory limit per test 256 megabytes input ...