python继承

创建虚拟环境,以方便管理

ぃ、小莉子 提交于 2019-12-05 17:43:21
人生苦短,我用Python(目录) 目录 一、计算机基础 二、Python基础 三、函数 四、常用模块 五、模块和包 六、面向对象 七、网络编程socket 八、数据库 九、前端 十、Python Web框架 十一、版本控制--GIT 十二、爬虫 十三、前端框架之VUE 十四、量化投资与Python 十五、算法 十六、设计模式 十七、restful framework 十八、linux基础 十九、权限管理 一、计算机基础 计算机基础知识 计算机的发展史及多道技术 计算机网路知识的简单介绍 二、Python基础 Python学习【第0篇】:window环境下安装Python2和Python3   Python学习【第1篇】:Python简介以及入门 Python学习【第2篇】:Python之数据类型 Python学习【补充篇】:Python之字符串切片 Python学习【第3篇】:Python之运算符 Python学习【第4篇】:Python之可变数据类型与不可变数据类型 Python学习【第5篇】:Python之字符编码问题 Python学习【第6篇】:Python之文件操作 Python学习【补充篇】:map函数和reduce函数的区别 三、Python之函数 Python学习【第7篇】:Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器) Python学习【第7篇

变量,解释器,垃圾回收机制,小整数池总结

家住魔仙堡 提交于 2019-12-05 17:23:14
python解释器作用 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件。要想运行执行此文件就需要python解释器。 python解释器作用 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件。要想运行执行此文件就需要python解释器。 运行python程序的两种方式 交互式模式 在 Python 交互式环境下,只能输入 Python 代码并立刻执行。 命令行模式 命令行模式执行的是.py的文本文件。 注释 什么是注释? 注释就是对代码的注释说明,注释的内容不会被当作代码运行。 为什么要注释? 增强代码的可读性 怎么用注释? 单行注释和多行注释 1.单行注释用#号,可以跟在代码的正上方或者正后方 2.多行注释可以用三对双引号或三对单引号 什么是IDE?为什么要有IDE? IDE即集成开发环境。Python最好的IDE工具就是pyCharm IDE是一款能够继承n个软件的功能,同时有代码提示以及纠错功能,能极大的提高开发效率。 变量 什么是变量?为什么要有变量?怎么使用变量? 变量就是可以变化的量 为了让计算机像人一样去记忆事物的某种状态,并且状态是可以发生变化的。 变量是这三部分组成 变量名 赋值符号 值 例 a = 1 变量名的命名规范 1.变量名只能是字母,数字,或下划线的组合 2.变量名的第一个字符不能是数字 3.关键字不能定义为变量

python定义接口继承类invalid syntax解决办法

回眸只為那壹抹淺笑 提交于 2019-12-05 16:45:37
zxq547 python定义接口继承类invalid syntax解决办法 1 2 3 4 5 6 7 class s_all(metaclass = abc.ABCMeta): #python2.7用此方法定义接口继承 # __metaclass__ = abc.ABCMeta @abc .abstractmethod def read( self ): pass pyhton2.7会报错,此方法用于python3+pyhton2.7应用次方法定义 1 2 3 4 5 6 7 class s_all(): #python2.7用此方法定义接口继承 __metaclass__ = abc.ABCMeta @abc .abstractmethod def read( self ): pass    1 2 3 4 5 6 7 class s_all(metaclass = abc.ABCMeta): #python2.7用此方法定义接口继承 # __metaclass__ = abc.ABCMeta @abc .abstractmethod def read( self ): pass pyhton2.7会报错,此方法用于python3+pyhton2.7应用次方法定义 1 2 3 4 5 6 7 class s_all(): #python2.7用此方法定义接口继承 _

使用pytest————持续更新中

回眸只為那壹抹淺笑 提交于 2019-12-05 15:50:11
pytest 1,最简单的示例 import pytest def test_case_01(): print("执行test01") assert 1 # 断言成功 def test_case_02(): print("执行test02") assert 0 # 断言失败 if __name__ == '__main__': pytest.main(['test_01.py']) 运行结果如下: pytest 1,最简单的示例 import pytest def test_case_01(): print("执行test01") assert 1 # 断言成功 def test_case_02(): print("执行test02") assert 0 # 断言失败 if __name__ == '__main__': pytest.main(['test_01.py']) 运行结果如下: 如图所示: 在执行完成之后先会显示test01.py,后面跟着.F 其中.代表执行成功,F代表执行失败,并且在下方会展示错误的提示 2,pytest使用步骤: 1,导入pytest 2,编写测试用例 一,无需在测试类下编写测试用例,可以直接编写测试函数 二,测试函数名必须包含test_ 开头,或者_test结尾; 3,在pytest框架下执行测试用例 在py文件内执行测试用例: pytest

python类总结

不羁的心 提交于 2019-12-05 13:29:13
python基础总结 聊一聊Python中的类 什么是Python的类,很多人肯定会随手打出 class Student(object): def __init__(self): pass jack = Student() Helen = Student() 完事了,但其实不然,Python的类还是有很多值得考虑和记录的地方 基础向 如上所说,我们先来理一理Python类的基础,首先既然说到类,我们就离不开对象这个概念,Python是一门解释型动态语言,在Python中处处皆对象。既然有了对象,我们当然要具有生产这些对象的模板,我们把它称为类。在Python中,Class简称是抽象类的统称,比如上方的Student就是一个抽象的概念,他是一个模板。那么jack和Helen则是他的实例。于是面向对象中,类(Class)和实例(Instance)的概念就出来了,记住类只是一个抽象的概念,是模板。而实例则是由这些模板生产出来的实例。 继承最基础的类 看到现在我们应该有一个概念,也就是说我们创造一个类,我们可以使用他创造出多个实例。那么多个类,就可以创造出多个多个实例。那么其实这些类都继承自一个最基础的类object,在Python2.4-3中根据是否继承object类来区分新式类和经典类,但是在python3中,已经默认继承Object类了,所以你完全可以这样写 class

python-特征/原则/设计模式

☆樱花仙子☆ 提交于 2019-12-05 11:21:15
面向对象总结: 面向对象 概述 面向过程:关心解决问题的步骤(实现)。 算法 + 数据结构 面向对象:关心解决问题的人。 对象 + 交互 抽象:从多个事物中,舍弃个性非本质的特征, 抽离出共性与本质的过程。 类和对象 对象:大杯子 小杯子 中杯子 具体的 实例(个体) 类:杯子(数据:高度 行为:盛水) 抽象的 概念(类别) 成员: 实例成员(变量、方法):对象的 类成员(变量、方法):大家的 静态方法:略 三大特征: 封装:【分】 分而治之、变(行为)则疏之. 标准:高内聚低耦合 继承:【隔】抽象 --> 统一 --> 隔离 多态:【执】重写(覆盖) 通过调用父,执行子。 六大原则: 开闭原则:(目标) 增加新功能,不修改客户端代码. 单一职责:一个有且只有一个改变的原因. 依赖倒置:调用父(稳定、抽象),不要调用子(多变,具体). 组合复用:不要用继承(是一种)复用,多用组合(有一个)复用。 组合关系连接客户端代码与多变的功能 人 火车/飞机..等交通工具 员工管理器 程序员/测试员..等员工 继承关系抽象多变的功能 员工 --> 程序员/测试员 里氏替换:看见爸爸可以传递儿子 儿子替换爸爸后依然可以工作(扩展重写) 迪米特法则:低耦合 单列模式: class A: #同一个对象,可修改属性数据 后续实例化属性数据,相当于修改的对象都是第一个对象 多个变量指向一个对象 def

python logging模块源码分析

三世轮回 提交于 2019-12-05 09:58:27
阅读目录 一、源码分析 二、流程图 源码分析 1 创建logger对象 logger = logging.getLogger(__name__) # 1.加载文件,创建以下单例对象 root = RootLogger(WARNING) Logger.root = root Logger.manager = Manager(Logger.root) _loggerClass = Logger # 2.getLogger() if name: return Logger.manager.getLogger(name) else: return root # 3.看一下getLogger()干了些什么 class Manager(object): def __init__(self, rootnode): """ Initialize the manager with the root node of the logger hierarchy. """ self.root = rootnode self.disable = 0 self.emittedNoHandlerWarning = False self.loggerDict = {} self.loggerClass = None self.logRecordFactory = None def getLogger(self,

python_多线程多进程

大憨熊 提交于 2019-12-05 07:01:08
进程就是多个资源的集合, 线程是包含在进程里面的,线程和线程直接是相对独立的 线程的优点 1.易于调度。 2.提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。 3.开销少。创建线程比创建进程要快,所需开销很少。 4.利于充分发挥多处理器的功能。通过创建多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。 def down_load(): time.sleep(5) print('运行完了') # threading.Thread(target=down_load,args=('name','id')#target是函数名,args是函数的参数没有可以不写 t1 = threading.Thread(target=down_load) t1.start()#启动线程 每个子线程都是在主线程里启动的子线程 ====================================================================================== 继承调用 class Test_thread(threading.Thread):#继承threading的Thread类 def __init__(self,num): threading.Thread.__init__(self

Python实现性能自动化测试竟然如此简单(转载至博客园可优)

情到浓时终转凉″ 提交于 2019-12-05 06:23:39
一、思考❓❔ 1.什么是性能自动化测试? 性能 系统负载能力 超负荷运行下的稳定性 系统瓶颈 自动化测试 使用程序代替手工 提升测试效率 性能自动化 使用代码模拟大批量用户 让用户并发请求 多页面多用户并发请求 采集参数,统计系统负载能力 生成报告 2.Python中的性能自动化测试库? locust库 使用Python 使用代码来创建批量用户 分布式 可以在多台服务器上,进行分布式性能测试 可伸缩性强 稳定、应用广泛 经得住各种场景下的考验 基于web ui界面展示测试详情 能测任何系统 二、基础操作?? 1.安装locust 使用官方pypi源来安装 pip install locustio 使用豆瓣pypi源来安装(推荐) pip install -i https://pypi.douban.com/simple locustio 安装成功之后,在cmd控制台将会新增一条命令,可输入如下命令查看: locust --help 2.基本用法 在项目根目录下创建 locustfile.py 文件 from locust import Locust, TaskSet, task class MyTasks(TaskSet): """ 创建测试任务类,需要继承TaskSet 可以添加多个测试任务 """ # 每个测试任务,往往会以实例方法的形式来呈现 #

Python 类

…衆ロ難τιáo~ 提交于 2019-12-05 05:31:32
1.创建类 1 class Person: 2 def setName(self.name): 3 self.name = name 4 5 def getName(self): 6 return self.name 7 8 def greet(self): 9 print("Hello, world! I'm %s." % self.name) 这里创建了Person类,并在类中定义了三个方法:setName(),getName(),greet() 在调用Person对象foo的setName()和greet()函数时,foo自动将自己作为第一个参数传入函数中,因此形象地命名为self 通过self,成员方法得以访问他们要对其特性进行操作的对象本身 2.特性、函数和方法 self参数正是方法和函数的区别,方法(绑定方法)将它们的第一个参数绑定到所属的实例上,因此这个参数可以不必提供,如果将特性绑定到一个普通函数上,这样就不会有特殊的self参数了 self参数并不取决于调用方法的方式 最后一个方法的调用中,变量birdsong引用绑定方法bird.sing上,这还是对self参数的访问,也就是说,它仍旧绑定到类的相同实例上 私有化 默认情况下,程序可以从外部访问一个对象的特性。但是应该尽量避免从外部直接访问特性,可以使用私有特性,这是外部对象无法访问,但通过访问器能够访问的特性