测试与调试提示

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. Android中如何为自定义控件增加状态?

    在android开发中我们常常需要对控件进行相关操作,虽然网上已有很多对控件酷炫的操作,但小编今天给大家分享的纯属实用出发.在查看了一些列安卓教程和文档后,发现了一位大牛分享的非常不错的有关andro ...

  2. 动态MST

    原谅我真的写不下去了,太难写了,先占坑. 啥时候有比较连续的时间了再写 肯定没用了的无聊代码 #include <cstdio> #include <vector> const ...

  3. spring in action 学习笔记四:bean的生命周期

    bean 的生命周期分为:一个是ApplicationContext的容器的bean的生命周期,另一个是BeanFactory容器的生命周期. 首先介绍一下:ApplicationContext的容器 ...

  4. Python学习笔记(Django篇)——1、环境搭建篇(如何在Pycharm中配置Python和Django)

      1.准备好以下东东,并且按照先后顺序进行安装: Python 3.6 (64-bit) Django-1.11.tar.gz pycharm-community-2016.3.2.exe 安装好了 ...

  5. HTTP Basic 机制

    package com.enation.app.shop.component.payment.plugin.cod; import java.io.IOException; import java.u ...

  6. Ajax基础知识 浅析(含php基础语法知识)

    1.php基础语法    后缀名为.php的文件 (1) echo   向页面中输入字符串  <?php    所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...

  7. YYH的王国(NOIP模拟赛Round 6)

    题目描述 YYH拥有一个有n个城市的国家,编号为1~n.其中城市i到城市j的路径长度为i和j的最小公倍数.现在YYH想建一些高速公路,使得任意两座城市都能通过高速公路直接或间接到达.建造一条高速公路的 ...

  8. Linux之epoll详细解析实现

    /* * fs/eventpoll.c (Efficient event retrieval implementation) * Copyright (C) 2001,...,2009 Davide ...

  9. docker入门之:centos6.5 安装docker

    centos6.5 : 使用EPEL库安装docker: # sudo yum install -y  http://mirrors.yun-idc.com/epel/6/i386/epel-rele ...

  10. Ubuntu16.04搭建LAMP开发环境

    Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...