unittest 单元测试的一个框架什么框架 一堆工具的集合. TestCase TestSuite 测试套件,多个用例在一起 TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中, 包括运行了多少测试用例,成功了多少,失败了多少等信息 用例必须以test开头 import unittest import HTMLTestRunner from BeautifulReport import B…
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信…
python Web程序 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. Python的WEB框架分为两类: 自己写socket,自己处理请求 基于wsgi(Web Server Gateway Interface WEB服务网关接口,实现socket功能),自己处理请 如图示:…
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 1.创建django程序 通过命令行 django-admin startproject mysite 创建project 一个工程可以包含多个app,app共用一个project的配置文件 cd mysite python manage.py startapp app01 创建app01 pyt…
#-*- coding: utf-8 -*- import datetime #给定日期向后N天的日期 def dateadd_day(days): d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(days) return d3 #昨天 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday =…
money = input('输入多少钱:') months = input('还几个月:') try: res = calc(int(money),int(months)) except ZeroDivisionError as e: #try里面的代码如果出错了,走except里面的代码 traceback.print_exc()#只是输出报错的详细信息而已 print('还款的月数不能小于1',e) #months输入0时 except ValueError as e: print('输入…
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),print(string,end='') Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串split()方法语法:str.split(str="", num=string.count(str)).参数str -- 分隔符,默认为空格…
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签",东西都是一样的.改变或者添加,复制出来的变量也会改变 样例: >>> a=[1,2,3] >>> b=a >>> a [1, 2, 3] >>> b [1, 2, 3] >>> a[1]=0 >>>…
Python学习笔记(五): 文件操作 另一种文件打开方式-with 作业-三级菜单高大上版 1. 知识点 能调用方法的一定是对象 涉及文件的三个过程:打开-操作-关闭 python3中一个汉字就是一个字符 2. 文件操作 模式: 读 r(光标默认在开始) 写 w(先清空) 追加a(光标默认在最后) 读写r+(光标默认在开始) 写读w+(先清空) 追加读a+(光标默认在最后) 读文件 file = open('1.txt','r',encoding='utf8') #打开为文件 data = f…
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sinat_14849739/article/details/79101529 转载请注明出处:http://blog.csdn.net/sinat_14849739/article/details/79101529 本文出自Shawpoo的专栏 我的简书:简书 […
一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的“存储器”.FB的参数和静态变量安排在它的背景数据块中.背景数据块…
十五. 构造数据类型 ● 构造数据类型概念 Structured data types 构造数据类型 结构体(structure), 联合体/共用体 (union), 枚举类型(enumeration type), 要有意识这三者是数据类型 Union is also like structure, i.e. collection of different data types which are grouped together. Each element in a structure or…
最近心情有点儿浮躁,难以静下心来 Python提供了强大的网络编程支持,很多库实现了常见的网络协议以及基于这些协议的抽象层,让你能够专注于程序的逻辑,而无需关心通过线路来传输比特的问题. 1 几个网络模块 1.1 模块socket 网络编程中的一个基本组件是套接字(socket).套接字基本上是一个信息通道,两端各有一个程序.这些程序可能位于(通过网络相连接的)不同的计算机上,通过套接字向对方发送消息.在Python中,大多数网络编程都隐藏了模块socket的基本工作原理,不与套接字直接交互.…
8.5 私有属性: 在python中,如果想将私有数据封装到类的实例上,有两种方法:1 单下划线.2 双下划线 1 单下划线一般认为是内部实现,但是如果想从外部访问的话也是可以的 2 双下划线是则无法通过外部访问且不能被继承覆盖 来看下面的这个例子: class B: def __init__(self): self.__private=0 def __private_method(self): print("__private method") def public_method(s…
循环对象 所谓的循环对象,包含有一个next()方法(python3中为__next__() ),这个方法的目的就是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误 当一个循环结构(例如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现为止,for循环接收到,就知道循环已经结束,停止调用next() 假设我们有一个文件data.txt My English is not good. My English isn't v…
import random import urllib from urllib import request import os ######################################################### # 参数设置 wsp = 'DouziOOXX' # 打开连接 def url_open(url): req = urllib.request.Request(url) req.add_header('User-Agent', 'Mozilla/5.0…
目录 一.基础概念 1.模块定义 2.包的定义 3.导入包的本质 4.导入模块的本质 5.导入方法 6.import的本质 7.导入优化 8.模块分类 9.标准库介绍 1.time与datetime 2.random模块 3.os模块 4.sys模块 5.shutil模块 6.shelve模块 7.XML模块 8.Pyyaml模块 9.configParser模块 10.hashlib模块 11.re模块 12.collections模块 13.subprocess模块 14.logging模块…
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), #精确匹配 url(r'^articles/([0-9]{4})/$', views.year_archive), #动态路由 url(r'^articles/([0-9]{4})/([0-9]{2…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
python图形用户界面就是包含按钮.输入框.选择框等组件的窗口.主要依赖与工具包进行代码编写.python GUI工具包并发互斥的,你可以选择多个工具包进行安装,有极大选择空间.每个工具包都有不同用法,所有,本文不过多对GUI编码进行讲解,入有小伙伴对这方面感兴趣,可以自行学习.…
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则对应命名空间中的属性. Python已经导入的模块保存在一个内置的sys.modules字典中,以便记录哪些模块已经记录了. 一,模块搜索路径 导入过程首先需要定位导入文件的位置,也就是,告诉Python到何处去找到要导入的文件,因此,需要设置模块的搜索路径.在大多数情况下,Python会自动到默认…
学习Python类时,我们明白了类的本质,以及所谓的面向对象编程思想强调的对事物本身的属性,我们对某一类事物进行描述——采用了很多方法,这些方法描述了类的属性(比如猫科动物的眼睛,四肢,是否哺乳类等等)老虎属于猫科动物,因此我们可以用猫科动物的类描述来描述老虎.但除了这些共性之外,老虎自身也具有一定的差异性,这就引出了继承这一概念: 即我们在描述老虎这一对象时,可以保留猫科动物这个类的属性,同时为老虎描述新的 属性,当然,我们也是创建老虎类来描述老虎(毕竟还有东北虎,华南虎之分).下面请见一段代…
第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python python的程序由包(package).模块(module)和函数组成.模块是处理某一类问题的集合,模块由函数和类组成.包是由一系列模块组成的集合.如图所示: 包就是一个完成特定任务的工具箱,python提供了许多有用的工具包,如字符串处理.图形用户接口.Web应用.图形图像处理等.使用自带的这些工具包,可以提高程…
python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() `2 打开并且读取一行文件` f = open('openfile.txt','r') print(f.readline()) f.close() `3 打开并以二进制形式读取文件` f = open('./openfile.txt','rb') print(f.read()) f.close() `…
参考: 高级特性 切片 Note 1.掌握了Python的基础语法之后,就可以写出很多很有用的程序了,比如打印1-90的奇数: #!/usr/bin/env python3 L = [] n = 1 while n <= 90 : L.append(n) n = n + 2 print(L) sh-3.2# ./easyprogram.py [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41…
准备先利用之前整理的python自带的unittest框架 整合excel 实现接口自动化测试功能 先看看excel表格设置: 下来是对excel获取的代码: #!/usr/bin/env python # -*- coding: utf_8 -*- import xlrd import json class Create_excel: def open_excel(self,path): workbook = xlrd.open_workbook(path) table = workbook.…
操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询的效率比较高 关系型数据库:是依据关系模型创建的数据库.所谓的关系模型指:“一对一,一对多,多对多”等关系模型.关系模型就是二维表的模型, 关系型数据库:小型数据库,中型数据库,大型数据库. 小型数据库:access.foxbase(了解) 中型数据:mysql.sqlserver(可以学习一下,使用范围比较…
一.数据库性能评测关键指标 1.IOPS:每秒处理的IO请求次数,这跟磁盘硬件相关,DBA不能左右,但推荐使用SSD. 2.QPS:每秒查询次数,可以使用show status或mysqladmin extended-status命令来查看QPS值,如下所示. mysql> show global status like 'Questions';--QPS=Questions/Uptime(show status like 'Uptime')这是一个全局的平均值 +---------------…
一.list 1.定义: list是一种有序的集合,可以随时添加和删除其中的元素 2.声明方法: subjects=['Math','English', 'Chinese'] 3.一些api (1)获取list元素个数 len(subjects) (2)用索引来访问list中每一个位置的元素,记得索引是从0开始的 subjects[0] PS:如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,-2就是倒数第二个,以此类推. (3)往list中追加元素到末尾: s…
缓存 一个动态网站的基本权衡点就是,它是动态的. 每次用户请求一个页面,Web服务器将进行所有涵盖数据库查询到模版渲染到业务逻辑的请求,用来创建浏览者需要的页面.当程序访问量大时,耗时必然会更加明显,这就是需要缓存的地方,缓存一些东西是为了保存那些需要很多计算资源的结果,这样的话就不必在下次重复消耗计算资源. Django自带了一个健壮的缓存系统来让你保存动态页面这样避免对于每次请求都重新计算.方便起见,Django提供了不同级别的缓存粒度:你可以缓存特定视图的输出.你可以仅仅缓存那些很难生产出…