![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
zhang_Ming_lu
这个作者很懒,什么都没留下…
展开
-
python 基础知识
1. str 字符串操作 常见的字符串函数 zip l = ['a', 'b', 'c', 'd', 'e', 'f'] b = zip(l[:-1], l[1:]) print(dict(b)) # 可以映射成字典,元组,列表 {'a': 'b', 'b': 'c', 'c': 'd', 'd': 'e', 'e':...原创 2018-06-06 08:32:23 · 46178 阅读 · 0 评论 -
关于Python单元测试模块Unitest
单元测试 白盒测试和黑盒测试 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过...原创 2018-09-02 21:04:16 · 42387 阅读 · 0 评论 -
Python设计模式01-介绍
简介Python的设计模式可以分为三大类,创建型模式,结构型模式,行为型模式 创建型模式介绍处理对象创建的设计模式,具体有: 工厂模式 建造者模式 原型模式 结构型模式介绍处理一个系统中不同实体(类、对象等)之间的关系,具体有: 适配器模式 修饰器模式 外观模式 享元模式 模型-视图-控制器模式 ...原创 2018-09-23 17:02:54 · 39773 阅读 · 0 评论 -
python设计模式02-工厂模式
介绍在工厂模式中,客户端可以请求一个对象,而无需知道这个对象来自哪里,也就是,使用那个类来生成这个对象,共仓背后的思想是简化对象的创建,与客户端自己基于类实例化直接创建对象相比,基于一个中心化函数来实现,更易于追踪创建了那些对象,通过将创建对象的代码和使用对象的代码解耦,工厂能够降低应用维护的复杂度。工厂通常由两种方式,一种是工厂方法,它是一个方法,对不同的输入参数返回不同的对象,第二种是...原创 2018-09-23 17:03:49 · 39553 阅读 · 0 评论 -
python设计模式03-建造者模式
建造者模式对比工厂模式建造者模式对比工厂模式两者之间的差别并不明确,主要的区别在于工厂模式以单个步骤创建对象,而建造者模式以多个步骤创建对象,并且几乎始终会使用一个指挥者。另外一个区别是,在工厂模式中会立即返回一个创建好的对象,而在建造模式下,仅在需要客户端代码显示是才会请求指挥者返回最终的对象,可类比Django对数据库的操作 适用场景 想要创建一个复杂对象,对象由多个部分构成...原创 2018-09-24 09:57:28 · 39585 阅读 · 0 评论 -
Python设计模式06-修饰器模式
修饰器模式和继承相比,通常因该优先选择组合,因为继承使得代码更加难复用,继承关系是静态的。修时器模式能够以透明的方式动态的将功能添加到一个对象中,对该对象的功能进行扩展。 代码示例https://github.com/lanms/Python_design_pattern/blob/master/05-deactor_pattern.py...原创 2018-09-30 21:38:11 · 38915 阅读 · 0 评论 -
Python设计模式07-外观模式
外观模式系统会随着演化变得非常复杂,最终代码内部的类有大量的交互,错综复杂,不适合将其暴露给客户,外观设计模式有助于隐藏系统的内部复杂性,并通过一个简化的接口向客户端提供数据。本质上,外观模式是在已有的复杂系统上实现的一个抽象层。外观模式常用于给一个复杂的系统提供简单的接口 核心实现方法是使用,抽象方法在类中实现固定接口,将其他没必要暴露在外的方法都交给类内部自己实现,在调用需要实...原创 2018-09-30 21:39:01 · 39203 阅读 · 0 评论 -
Python设计模式08-享元模式
享元模式 介绍享元模式通过为相似对象引入数据共享来最小化内存使用,提升性能,一个享元就是一个包含状态的独立的不可变数据的共享对象,依赖状态的可变数据不应是享元的一部分,因为每个对象的这种信息不相同,无法共享,如果享元需要非固有数据应该由客户端代码显示提供。例如我们正在设计一个性能为关键的游戏,例如第一人称设计游戏(FPS),在FPS游戏中,玩家(士兵)共享一些状态,如外在的表现和行...原创 2018-10-05 19:59:48 · 37521 阅读 · 0 评论 -
Python设计模式04-原型模式
介绍通过对传入的对象做深拷贝, 并且通过内部的更改对象属性的方法来使原始传入的对象的副本进行加工,最终在原始对象的原型的基础上得到新的对象 原型模式用于创建对象的完全副本,确切的说,创建一个对象的副本可以指代以下两件事 当创建一个浅副本时,副本依赖引用 当创建一个深副本时,副本复制所有的东西 第一种情况,我们关注提升应用性能和优化内存使用,在对象之间引入数据共享,单...原创 2018-09-29 22:04:43 · 40126 阅读 · 0 评论 -
Python的元类的用法
元类介绍type可以直接生成类(class),但也可以先生成元类(metaclass),再使用元类批量定制类(class)使用 class 创建类 class Hello(): def say(self, name='world'): print('Hello, %s' % name) h = Hello() h.sa...原创 2018-08-03 20:42:46 · 42093 阅读 · 0 评论 -
Python- 线程和进程
线程和进程1. 同步和异步针对结果同步 - 多任务,多个任务执行的时候有先后的顺序, 必须一个先执行后, 另外一个才能继续执行, 只有一条运行主线异步 - 多任务, 多个任务之间执行没有想先后顺序, 可以同时运行, 执行时先后顺序不会对程序有什么影响, 存在多条运行主线2. 阻塞和非阻塞针对运行状态 线程的状态(就绪、运行、阻塞)阻塞 - 从调用者的角度出发, 如果在调用的时候, 被卡...原创 2018-06-27 20:51:44 · 42096 阅读 · 0 评论 -
python 递归的使用和优化
简介 一个递归函数的调用过程类似于多个函数的嵌套的调用,只不过调用函数和被调用函数是同一个函数。为了保证递归函数的正确执行,系统需设立一个工作栈。具体地说,递归调用的内部执行过程如下:运动开始时,首先为递归调用建立一个工作栈,其结构包括值参、局部变量和返回地址;每次执行递归调用之前,把递归函数的值参和局部变量的当前值以及调用后的返回地址压栈;每次递归调用结束后,将栈顶元素出栈,使相应的值参和局部变...原创 2018-06-20 20:35:32 · 43661 阅读 · 0 评论 -
函数 map() reduce () nolocal() 用法
title: 03-函数的用法篇01 reduce() map() nonlocaldate: 2018-02-13 11:13:38tags: Python基础<h4 style="color: #228B22;">函数的用法篇 reduce() map() nonlocal</h4>介绍主要讲述了一些函数的用法reduce()map()nonlocal1. r...原创 2018-06-14 21:57:22 · 43355 阅读 · 0 评论 -
yield函数的简单用法
yield # 生成式 列表已存在,占用空间大 list1 = [x for x in range(10)] #生成器 得到的是 generator 对象 引用 list3 = (x for c in range(10)) for i in list3: # 在需要用的时候再计算出值 print(i) # 生...原创 2018-06-14 21:59:48 · 45002 阅读 · 0 评论 -
python 装饰器
装饰器一个函数, 两个功能 def func_3(line): def comp(value): if value >= line: print('{} >= {}'.format(value, line)) else: print('{} < {}'.format(va...原创 2018-06-14 22:01:03 · 43308 阅读 · 0 评论 -
pymysql数据库操作
title: 22-Python操作数据库date: 2018-05-17 22:07:37tags: 数据库<h4 style="color: #228B22;">在Python中操作数据库 ORM 通过pymysql 操作数据库</h4>ORM - Object Relation Mapping 对象关系映射关系型数据库 - 关系模型Python 程序 - ...原创 2018-06-14 22:02:30 · 43449 阅读 · 0 评论 -
读写csv文件-PDF文件-docx文件
### csv文件 with open('./file/MontyPythonAlbums.csv', 'r') as f: with open('test.csv', 'w') as t: csvReader = csv.reader(f) # 读取文件 for row in csvReader: ...原创 2018-06-30 13:18:26 · 42117 阅读 · 0 评论 -
Python设计模式05-适配器模式
介绍适配器模式是一种结构型设计模式,帮助我们实现两个不兼容接口之间的兼容,实际就是将原来的对象转换为后者可以使用的对象将不同的对象实例化,并且赋予同样的接口指向对象内部不同的方法,实现统一方法不同的返回的适配器效果 代码示例https://github.com/lanms/Python_design_pattern/blob/master/04-adapter.py...原创 2018-09-29 22:05:42 · 39253 阅读 · 0 评论