一、用例编写规则1.unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:(1)测试文件必须先importunittest(2)测试类必须继承unittest.TestCase(3)测试方法必须以“test_”开头(4)测试类必须要有unittest.main()方法2.pytest是python的第三方测试框架,是
系统 2019-09-27 17:49:08 1946
先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne
系统 2019-09-27 17:48:40 1946
小编刚刚看了一下京东页面,有3本Python书上了京东前10热搜榜。这三本书是:Python核心编程(第3版)[CorePythonApplicationsProgramming(3rdEdition)]、Python编程快速上手让繁琐工作自动化、笨办法学Python3。618活动临近尾声,小编给你介绍一下这三本书以及购买途径,需要的同学就不用去搜啦。小编昨天刚刚推荐了Python书,今天又来一篇,好吧,全当我是个Python控吧。1、Python核心编程
系统 2019-09-27 17:48:13 1946
效果展示规则介绍基于二维元胞自动机的生命游戏可视化实现规则:蓝色方块代表生命有颜色的方块代表生命,无颜色的方块代表死亡一个细胞周围有八个细胞,对于一个活细胞来说,如果它周围的八个细胞中:如果只有一个或没有一个是活的,那这个细胞就会死亡如果其中两个或者三个细胞是活的,那这个细胞就能维持生命如果超过3个细胞是活着的,那这个细胞就会因为过于拥挤而死亡对于一个死细胞来说,如果这个细胞周围如果有三个细胞存活,该将获得新生。附:所有规则都可以修改,种群初始密度也可以修
系统 2019-09-27 17:47:53 1946
阅读目录tcp协议:流式协议(以数据流的形式通信传输)、安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信)tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层、数据链路层、物理层。可以说很多安全数据的传输通信都是基于tcp协议进行的。为了让tcp通信更加方便需要引入一个socket模块(将网络层、数据链路层、物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作。简单的tcp协议通信模板:(需
系统 2019-09-27 17:47:19 1946
测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti
系统 2019-09-27 17:47:18 1946
本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下:1.字典(dict)dict用{}包围dict.keys(),dict.values(),dict.items()hash(obj)返回obj的哈希值,如果返回表示可以作为dict的keydel或dict.pop可以删除一个item,clear清除所有的内容sorted(dict)可以把dict排序dict.get()可以查找没存在的
系统 2019-09-27 17:47:12 1946
Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了。。。还是用绝对路径吧。解决这个问题,可以用绝对路径。当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径。此处分享在python下获取
系统 2019-09-27 17:46:48 1946
通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L
系统 2019-09-27 17:46:43 1946
很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴。matplotlib和seaborn都可以画双y轴图像。一个例子:importseabornassnsimportmatplotlib.pyplotasplt#ax1forKDE,ax2forCDFf,ax1=plt.subplots()ax1.grid(True)#ax1.set_ylim(0,1)ax1.set_ylabel('KDE')a
系统 2019-09-27 17:46:19 1946