Python标准库包含两个测试工具。doctest:一个简单的模块,为检查文档而设计,但也适合用来编写单元测试。unittest:一个通用的测试框架。一、使用doctest进行单元测试创建文件mymath.py,内容defsquare(x):'''计算平方并返回结果(下面是单元测试的格式)>>>square(2)>>>square(3)'''returnx*xif__name__=='__main__':importdoctest,mymathdoctes
系统 2019-09-27 17:54:39 1840
Python被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因.Python简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言:这意味着开发过程中没有了编译这个
系统 2019-09-27 17:51:49 1840
最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下:cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME')importcx_Oracledb1=cx_Oracle.connect('yang','yang','127.0.0.1:1523/yangdb')db2=cx_Oracle.connect('yang/yang@127.0.0.1
系统 2019-09-27 17:47:07 1840
方法调用行为方法调用比其他类型的查找略为复杂一点。以下是一些注意事项:在方法查找过程中,如果某方法抛出一个异常,除非该异常有一个silent_variable_failure属性并且值为True,否则的话它将被传播。如果异常被传播,模板里的指定变量会被置为空字符串,比如:>>>t=Template("Mynameis{{person.first_name}}.")>>>classPersonClass3:...deffirst_name(self):...
系统 2019-09-27 17:46:44 1840
OK,首先写一个pythonsocket的server段,对开放三个端口:10000,10001,10002.krondo的例子中是每个server绑定一个端口,测试的时候需要分别开3个shell,分别运行.这太麻烦了,就分别用三个Thread来运行这些services.importoptparseimportosimportsocketimporttimefromthreadingimportThreadimportStringIOtxt='''1111
系统 2019-09-27 17:38:44 1840
网络通用urllib-网络库(stdlib)。requests-网络库。grab�C网络库(基于pycurl)。pycurl�C网络库(绑定libcurl)。urllib3�CPythonHTTP库,安全连接池、支持文件post、可用性高。httplib2�C网络库。RoboBrowser�C一个简单的、极具Python风格的Python库,无需独立的浏览器即可浏览网页。MechanicalSoup-一个与网站自动交互Python库。mechanize-有
系统 2019-09-27 17:38:25 1840
字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值。Python字典也被称为关联数组或哈希表。字典的一般语法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}可以用下面的方式创建字典:dict1={'abc':456};dict2={'abc':123,98.6:37};每个按键都来自它的值用冒号(:),该项目以逗号分隔,整个事情
系统 2019-09-27 17:37:59 1840
url='aa'printtype(url)printurl.encode('utf8')以上是ok的keyword="中国"printkeyword.encode("utf8")就会报错了UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xe4inposition0:ordinalnotinrange(128)pythonencode('utf8')problem
系统 2019-08-29 22:48:28 1840
概述模块Pickle实现了对一个Python对象结构的二进制的序列化和反序列化。即当Python程序持续运行一些字符串、列表字典、甚至自定义的类等数据对象,需要持久化存储,即存储在磁盘中,防止运行在内存中,因断电等情况丢失数据。那么Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过
系统 2019-09-27 17:56:58 1839
概述到2020年,Python2的官方维护期就要结束了,越来越多的Python项目从Python2切换到了Python3。其实在实际工作中,很多伙伴都还是在用Python2的思维写Python3的代码。给大家总结一下Python3一些新的更方便的特性!希望你们看完后也能高效率的编写代码f-strings(3.6+)在Python里面,我们经常使用format函数来格式化字符串,例如:user="JaneDoe"action="buy"log_message
系统 2019-09-27 17:53:11 1839
在python中有一个telnetlib,它的作用就是建立一个通到主机的telnet连线实体,然后向主机传送命令(就像用键盘输入一样)并从该连线接收数据。利用它,我们可以把示范1的所有内容从"人-机'交流变成'机-机'交流,这样也可以做到处理pop3邮箱的工作。不过既然我们已经试过了pop3,这一次可以试用真的telnet埠23做些好玩的东西。#telnetdo.py#!/usr/bin/envpythondeftelnetdo(HOST=None,USE
系统 2019-09-27 17:50:56 1839
#这是Python中的一个字典dic={'str':'thisisastring','list':[1,2,'a','b'],'sub_dic':{'sub_str':'thisissubstr','sub_list':[1,2,3]},'end':'end'}//这是javascript中的一个JSON对象json_obj={'str':'thisisastring','arr':[1,2,'a','b'],'sub_obj':{'sub_str':'t
系统 2019-09-27 17:47:24 1839
fab命令好似结合我们编写的fabfile.py(其它文件名必须添加-ffilename应用)来搭配使用的,部分命令行参数可以通过相应的方法来替代,使之更加灵活,例如"-H192.168.56.133,192.168.56.134",我们可以通过定义env.hosts来实现,如"env.hosts=['192.168.56.133,192.168.56.134']"。fabfile的主体由多个自定义的任务函数组成,不同任务实现不同的操作逻辑。全局属性设定e
系统 2019-09-27 17:37:37 1839
背景介绍从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维。陆续使用过plotly、seaborn,最终定格在了Bokeh,因为它可以与Flask完美的结合,数据看板的开发难度降低了很多。前阵子看到这个库可以较为便捷的实现数据探索,今天得空打算学习一下。原本访问的是英文文档,结果发现已经有人在做汉化,虽然看起来也像是谷歌翻译的,本着拿来主义,
系统 2019-09-27 17:52:35 1838
读取、写入和Python编写程序的最后一个基本步骤就是从文件读取数据和把数据写入文件。阅读完这篇文章之后,可以在自己的to-do列表中加上检验这个技能学习效果的任务。简单输出贯穿整个系列,一直用print语句写入(输出)数据,它默认把表达式作为string写到屏幕上(或控制台窗口上)。清单1演示了这一点。清单1重复了第一个Python程序“Hello,World!”,但是做了一些小的调整。清单1.简单输出>>>print"HelloWorld!"Hello
系统 2019-09-27 17:49:42 1838