测试与调试提示

2.1  在交互模式输入一个python语句就会执行一个。在调试程序时,这种模式尤其有用。

2.2  在一个文件调用python解释器后,解释器会在文件中的最后一个语句执行之后推出。然而,如果使用-i选项(例如python -i file.py)针对文件调用解释器,会导致编译器在执行了文件中的语句后进入交互模式。这非常使用于调试程序。

2.3  如果一个表达式里包含许多运算符,请务必参考运算符优先级表,合适表达式中的运算符按自己希望的顺序执行,如表达式过于复杂以至于无法确定顺序,不妨将表达式分割成几个小语句,或干脆用圆括号强行规定顺序--在代数表达式中也可以采用一样的做法。注意,某些运算符(比如求幂运算符**)是按右到左顺序关联的,而非从左到右。

2.4  为避免难以察觉的错误,务必在Python程序中采用统一和正确的缩进。

4.1  和在整个程序中更新重复的代码相比,更新函数显然更容易。

4.2  即使绝对肯定程序没有bug,也应在if/elif/else结构中添加一个默认的else条件。

4.3  通常应避免将所有标识符从一个模块导入另一个模块的命名空间。只有可信来源提供的模块,才可考虑这种导入方法。在可信模块的文档中,应清楚说明可用这样的语句导入模块

5.1  在不接受负下标的其他程序语言中,如果不慎计算出负下标,会导致运行时错误。在python中,不慎出现的负下标会导致非严重逻辑错误,程序继续运行,只是产生无效结果。

5.2  遍历序列时,正的序列下标应小于序列元素总数(换言之,下标不能大于序列长度)。另一方面,负的序列下标应等于或大于序列元素总数的负数。循环终止条件应能避免访问超出这个范围的元素。

5.3  采用传值,如果对被调用的函数的拷贝进行修改,不会影响调用代码中原始变量值。这有助于避免失误,确保能开发出正确和可靠的软件系统。

python测试与调试提示的更多相关文章

  1. 全功能Python测试框架:pytest

    python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest.   imag ...

  2. Python测试 ——开发工具库

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

  3. python测试开发django-37.外键(ForeignKey)查询

    前言 前面在admin后台页面通过设置外键,可以选择下拉框的选项,本篇主要讲解关于外键(ForeignKey)的查询 models设计 在上一篇的基础上新增一个BankName表,Card表通过外键关 ...

  4. python测试开发django-36.一对一(OneToOneField)关系查询

    前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示.本篇继续学习一对一(OneToOneField)关系的查询. 上一篇list_d ...

  5. WIFI 测试和调试

    WIFI测试和调试 本文将介绍如何使用 ASOP 中提供的工具测试和调试 WLAN 实现. 测试 为了测试 WLAN 框架,AOSP 提供了一系列单元测试.集成测试 (ACTS) 和 CTS 测试. ...

  6. python 测试框架nose

    python测试框架nose nose不是python自带模块,这里我才用pip的方式安装 pip install nose 这样就完成了安装,然后再确认下是否安装成功了,直接打开cmd输入noset ...

  7. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  8. 《Python测试开发技术栈—巴哥职场进化记》—软件测试工程师“兵器库”

    上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加 ...

  9. Python测试框架pytest命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...

随机推荐

  1. VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9

    最近做图像需要用到Matlab和OpenCV,一些东西真的是要深入的研究进去才会有所发现,但Matlab和C++都不是我擅长的语言,所以要很加油很加油才行啊!! 步入正题. 1.  环境:Win7 6 ...

  2. BZOJ3597 [Scoi2014]方伯伯运椰子 【二分 + 判负环】

    题目链接 BZOJ3597 题解 orz一眼过去一点思路都没有 既然是流量网络,就要借鉴网络流的思想了 我们先处理一下那个比值,显然是一个分数规划,我们二分一个\(\lambda = \frac{X ...

  3. Tomcat学习笔记(十二)

    Host和Engine容器 Context容器的父容器通常是Host容器. Engine容器表示Catalina的整个servlet引擎.如果使用Engine容器,那么它总是处于容器层级的最顶层.默认 ...

  4. Codeforces Round #527 (Div. 3) ABCDEF题解

    Codeforces Round #527 (Div. 3) 题解 题目总链接:https://codeforces.com/contest/1092 A. Uniform String 题意: 输入 ...

  5. Access-Control-Allow-Origin设置多个域名

    Access-Control-Allow-Origin只能返回一个. 所以用以下方法实现多个白名单域名:创建一个数据,获取请求中origin,如果在数组里,就返回该origin,如果不在,就返回一个默 ...

  6. 解决crlf 和 lf不同带来的冲突问题

    crlf 和 lf 是文本换行的不同方式: crlf: "\r\n", windows系统的换行方式 lf: "\n", Linux系统的换行方式 他们之间的不 ...

  7. 洛谷T8116 密码

    T8116 密码 题目描述 YJC把核弹发射密码忘掉了……其实是密码被加密了,但是YJC不会解密.密码由n个数字组成,第i个数字被加密成了如下形式:第k小的满足(2^L)|(P-1)且P为质数的P.Y ...

  8. 翻煎饼_简单模拟_C++

    一.题目描述(懒人可直接跳过看题目概述) 题目来源: SWUST OJ  题目0254 http://acm.swust.edu.cn/problem/0254/ 二.问题概述 给出一列数,每次可将包 ...

  9. [bzoj1026][SCOI2009]windy数——数位dp

    题目 求[a,b]中的windy数个数. windy数指的是任意相邻两个数位上的数至少相差2的数,比如135是,134不是. 题解 感觉这个题比刚才做的那个简单多了...这个才真的应该是数位dp入门题 ...

  10. ldd命令【转】

    转自:http://www.cnblogs.com/wanghetao/p/3779611.html ldd命令用于判断某个可执行的 binary 档案含有什么动态函式库. 参数说明: --versi ...