- 博客(25)
- 收藏
- 关注
原创 Python基础(unittest模块、python2与python3的区别)
unittest模块unittest模块是python内置的一个测试模块软件测试是一种实际输出与预期输出之间的审核或者比较的过程单元测试单元测试是用来对一个模块/一个函数/一个类来进行正确性检测的测试工作单元测试中最核心的四个概念:test case:一个py文件就是一个测试用例,是一个完整的测试流程test suite: 测试用例的集合test runner: 用来执行测试用例test fixture: 测试用例环境的搭建和销毁unittest的使用步骤1、导入unittest模块
2020-10-21 20:44:05
384
原创 Python基础(迭代器、生成器)
迭代器字符串和整数的区别: dir(str) dir(int) 字符串有__iter__ 整数没有__iter__迭代对象与迭代器什么是迭代对象只要能被循环遍历的对象,就被称为迭代对象一个对象或者类包含了__iter__()魔术方法,这个 类/对象,就是可迭代对象__iter__()魔术方法: 通过这个得到的是当前对象的迭代器 iter(可迭代对象) 返回的是迭代器 通过__next__()方法可以遍历当前对象的数据 next(迭代器) __next__ 获取元素 __l
2020-09-22 11:15:12
710
原创 Python基础(GIL锁、re模块、正则表达式)
GIL锁GIL锁:全局解释锁(GIL),python底层自带的锁,python中的线程实质上是伪多线程,cpython中使用GIL来控制线程的执行,无法发挥多核处理器的优势,相较于真线程效率要低。这个锁用来保证同一时刻只能有一个线程在执行re模块re模块是python提供的处理正则表达式的一个模块,提供了各种正则表达式的处理函数,将这些函数可以简单分为两类:字符查询匹配函数、字符串拆分替换函数。字符串查询匹配函数re.match(规则,字符串) 从头开始按照规则去指定的字符中匹配,只匹配字符
2020-09-17 20:53:50
3209
1
原创 python基础(生产者与消费者模式、threadingLocal)
栈先入后出也是用queue模块实现先入后出的对列(栈)声明格式: # 创建一个栈 q = queue.LeftQueue() # 进栈 q.put() # 出栈 q.get()生产者与消费者模式在并发编程中使用生产者和消费者模式能够解决绝大多数的并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度例:import threadingimport queuenum = 0# 生产者def func1(name): global num
2020-09-15 22:22:52
3657
1
原创 Python基础(线程等待和线程守护、互斥锁、队列)
线程等待和线程守护线程等待: 使用的是join方法,其功能是指等待某个线程执行完成后主线程才会继续执行线程守护: 使用的是setDaemon方法,其功能是指当主线程执行结束,不管调用该方法的进程有没有结束,都会强制结束 线程守护的设置,一定是在开启线程之前threading模块中提供的方法threading.currentThread() 返回当前线程对象threading.enumerate() 返回一个包含正在运行的线程listthreading.activeCount()
2020-09-13 16:53:37
4107
原创 Python基础(多任务、并行与并发、同步与异步、进程与线程、多线程的实现)
多任务多任务:同一时间段/同一时间执行多个任务多任务执行的目的,为了提高效率并行与并发并行是指在同一时间同时执行多个任务,多个任务是一块执行的并发是指在一段时间内执行多个,但是任务不是同时执行的,而是轮流执行的同步与异步同步是指,两个任务具有关联性,后者可能需要前者的结果,串行执行异步而是指两个任务没有联系,可以同时执行,也可以一个一个执行(没有前后之分)描述并行或并发进程与线程进程是线程的仓库一个进程可能包含多个线程进程 一个正在运行的程序就是一个进程,进程是系统进行资源分配的最
2020-09-11 20:18:33
882
原创 Python基础(异常处理)
异常处理异常处理是指在语法正确的前提下,程序运行时报错异常的出现会导致程序直接崩溃退出,不再继续向下执行异常处理是为了让代码具有一定的容错性:允许用户操作时出现的错误捕获单个异常格式:try: 代码except 异常类型1: 处理代码exctpt 异常类型2: 处理代码第二种格式:try: 代码except(异常1,异常2) as 别名: 处理代码捕获所有异常格式:try: 代码except: 异常处理except后面不写异常类型,表示可以捕
2020-09-11 17:08:54
1324
1
原创 Python基础(os模块)
os模块os模块主要是和操作系统交互的模块常见操作os.cpu_count() 获取当前操作系统cpu的核心数os.system(command) 指定DOS命令os.rename(old,new) 重命名文件os.remove(filepath) 删除文件os.mkdir(path) 创建目录os.makedirs(path) 创建多级目录os.rmdir(path) 删除目录,目录必须为空os.removedirs(path) 删除多级空目录os
2020-09-08 11:47:55
833
原创 Python基础(反射方法、设计模式、文件操作)
反射方法hasattr(obj,name) 判断该对象中是否包含名称name的属性setattr(obj,name,value) 给名称为name的属性设置value值getattr(obj,name) 获取名称为name的属性的具体数据delattr(obj,name) 删除名称为name的属性设计模式设计模式没有其固定格式,只是代码设计经验的组总结被多数人知晓说到设计模式,就不得不提软件开发的六大原则:1、开闭原则2、里氏替换原则3、依赖倒置原则4
2020-09-06 22:09:32
1367
原创 Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)
实例属性、类属性实例属性是对象独有的,每个对象与每个对象之间各不相同实例属性的声明在__init__()初始化方法中,使用self关键字将属性绑定到当前对象上类属性,不是写在__init__()方法中,而是在类中定义例:用实例化的对象修改不了类属性,只是在该对象的属性中添加了一个实例属性,类属性没有变化总结:类属性:声明位置:在类的内部,方法的外部访问数据:当前类的名称,当前类创建的所有对象修改数据:通过当前类名去修改实例属性:声明位置:声明在__init__(self)中访问
2020-09-05 19:42:44
7513
1
原创 Python基础(封装、继承、多态)
面向对象的三大特征:封装、继承、多态封装概念:将一个对象的数据隐藏在对象内部,不让在外界直接访问,而是通过对象提供的方法来访问这些隐藏起来的数据,这样就可以在访问方法中添加访问条件限制,目的是对数据的有效组织和数据安全性的保护通俗理解:就是一个东西是自己的,不让外人直接拿到,而是通过向自己借东西的行为来判断是否可以借给他人属性私有化封装约定私有化:加一个下划线在规范上约定不能直接访问语法私有化:加两个下划线在语法上不能通过属性名称直接访问属性私有化是python层面的操作,底层解释器在解释时
2020-09-03 21:51:20
1989
原创 Python基础(面向对象、面向过程)
面向对象面向对象:面向对象是一种编程思想,是解决问题的一种思路面向对象,解决问题时关注的不再是解决问题的步骤和过程,而是更加注重是参与解决问题的对象以及他们的行为优点:生活还原度高,可以表述生活中所有事物,描述每种类型的事物的特征和行为,可以解决较为复杂的问题,功能的拓展性高缺点:在还原某些场景时,没有直接去解决问题,而是首先表示这些参与的对象类型,开始编写代码时较为复杂,准备时间较长,功能的稳定性相对不足,面向对象效率要低于面向过程面向过程也是一种编程思想,面向过程注重的是解决问题的步骤
2020-09-02 22:42:46
1903
原创 Python基础(常用内置模块)
常用内置模块random模块random模块是随机模块random模块中常用的方法sys模块sys中常用方法sys.version 返回解释器的版本号sys.path 返回模块的搜索路径sys.argv 接收命令行下的参数string模块string 模块提供了系统中字符串的基本操作方式,描述了当前编程语言中使用到的字符分类string.ascii_lettersstring.ascii_letters获取所有ascii码中字母字符的字符串(包含大
2020-08-31 21:58:49
1223
原创 Python基础(闭包函数、装饰器、模块和包)
-----------小编学习python的第九天总结------------闭包函数格式: def 函数名1(): def 函数名2(): 变量 = 值 return 变量 return 函数名2 func = 函数名1() key = func()例:闭包函数实际上延长了变量的生命周期,相当于使用了函数中的变量名,而不用定义使用全局变量了,防止了当定义多个全局变量时变量名污染的问题装饰器
2020-08-29 10:18:52
2434
1
原创 Python基础(作用域、内置函数)
-----------小编学习python第八天的总结-----------作用域概念:作用域指的是变量在程序中的应用范围作用域按照变量的定义位置可以分为4类:L E G Blocal(函数内部)局部作用域enclosing(嵌套函数的外层函数内部)嵌套作用域global(模块全局)全局作用域built-in(内建)内建作用域访问顺序:L->E->G->B内层作用域中可以访问外层作用域中的数据外层作用域中不能访问内层作用域中的数据在python中,模块、类、函数会产
2020-08-27 22:14:38
1622
原创 Python基础(函数、函数的递归)
--------小编学习python的第七天总结-------函数概述:函数是一段具有特定功能的代码段,只需写一次,可以重复调用,提高了代码的复用性函数的声明和调用函数的声明:def 函数名(形参)注释:函数说明函数体return调用的格式:函数名(实参)函数的参数参数: 形参:在定义函数时写在()中的 实参:在调用函数时写在()中的位置参数: 实参与形参的位置一一对应关键字参数: 通过形参名=实参这种格式传递参数,不受形参位置的影响,根据关键字
2020-08-26 22:43:34
952
原创 Python基础(字符串、格式化、转义字符)
-------------小编学习python的第六天总结-------------字符串的修饰方法center()方法格式:变量名.center(width,填充的字符)让字符串在指定长度中居中,如果不能居中时按左短右长,也可以指定填充内容,默认是以空格填充ljust()方法格式:变量名.ljust(width,填充的字符)让字符串在指定的长度左对齐,可以指定填充内容,默认以空格填充rjust()方法格式:变量名.rjust(width,填充的字符)让字符串在指定的长度右对齐,可以
2020-08-26 10:07:34
2433
原创 拓展python爬虫(爬取图片)
爬虫爬取图片的简单实例这里以图片之家为例首先分析网页每一页与每一页之间只是list_176_后面的数字不同,所以我们可以根据不同的需求来进行翻页图片的定位:小编这里使用的是xpath来进行的定位,比较简单,适合新手在谷歌浏览器中选中其src中的地址右键copy其xpath直接定位到该图片的定位分析完后就可以写python代码了import requestsfrom lxml import etreep = 1print("请输入爬取的页数:")num = int(input(
2020-08-25 15:58:35
3694
3
原创 Python基础(元组、字典、集合、字符串中的基本方法)
---------------小编学习Python的第五天总结--------------元组 tuple概念:元组是一个有序的,不可修改的,可重复的,可存储多个类型的的数据类型元组中的方法index()方法格式:变量名.index(要查找的值,开始的索引位置,结束的索引位置)返回的是从左至右遍历该值第一次出现的索引值若没有该值的信息则会报错count()方法格式:变量名.count.(值)返回的是该值在原组中出现的次数字典dict概念:字典是一个无序的,可修改的,以键值对存储的
2020-08-24 20:18:58
6062
原创 python基础(列表)
--------------小编学习python的第四天总结------------列表的基本应用列表的概念:列表是一个有序的,可变的,可重复的,可以容纳多种类型的一种数据类型格式:name = list()或 name = [ ]列表具有索引值,可以根据其索引值的查询到出处在该索引位置的值列表与列表之间可以进行相加从而形成一个新的列表列表可以作切片操作例:list[1,2,3,4,5]list[0:4]结果为[1,2,3,4]其格式 列表名[start, end, step]star
2020-08-23 18:14:27
861
原创 python基础(三元表达式、while循环、for循环)
-------------小编学习pytho第三天总结-------------三元表达式格式: 变量 = 条件为真返回真的结果 if 条件 else 条件为假返回的结果作用:简化了python代码例:break与continuebreak与continue用于循环的结束两者的区别:break是直接跳出当前循环执行下面的语句continue是结束本次循环开始下一次循环,而没有跳出当前循环while循环格式:while 条件:循环体while循环后面跟else其目的是在于,如果w
2020-08-20 11:53:19
1369
原创 python基础(数据类型转换、运算符、数制转换、流程控制)
---------小编学习python的第二天总结-------------数据类型的转换整型格式:int(要转的值)浮点型转整型是直接砍掉小数点后面的数布尔型转整型False—>0 True—>1字符串转整型只可以转字符串类型是纯数字的,不然会出错浮点型格式:float(值)整型转浮点型是直接在值后面加 .0布尔型转浮点型False—>0.0 True—>1.0字符串转浮点型可以转纯数字也可以转字符串表示的浮点数布尔型格式:bool(值)
2020-08-18 21:50:32
469
原创 python基础(基本类型、变量与常量、赋值与删除)
------本篇博客只是小编第一天学习python的总结-------Python起源python的创始人:吉多·范罗苏姆(俗称龟叔)python是龟叔在1989年的圣诞节开始编写的python的第一个版本发布时间是1992年做一个简单了解就可以Python基本类型数字、字符串、元组、列表、字典、集合python的数字类型包含了 int、flout、bool、复数字符串:被单引号、双引号、三引号选中在内的都是字符串类型三引号选中的可以在行内换行在实际开发中:基础数据类型整形 浮点
2020-08-18 11:34:42
653
原创 Python循环嵌套例子(九九乘法表)
九九乘法口诀表是对循环嵌套应用的一个简单的实例应用(这里只以for循环举例)例子代码如下:for i in range(1,10): for j in range(1,i+1): k=str(j*i).ljust(2) # 得到的字符串设置长度为2,并左对齐 print("{}*{}={}".format(j,i,k),end=' ') # 用空格代替掉换行 print() # 换行得到的结果如下:若想更近一步的熟悉
2020-07-28 19:54:34
2584
原创 Python3.7环境安装
Python环境安装Python3.7.3 -64安装包连接:链接提取码:8zny这里只提供了64位安装包,如果需要32位的可以去到Python官网下载官网下载网址安装步骤1、下载完以后点击Python-3.7.3-amd64.exe安装包2、3、这里选的是自定义安装点击Browse选择想要安装的路径 install就可以了4、验证Python是否安装成功window+R 输入cmd输入python显示下图所示则代表安装成功...
2020-07-26 17:38:23
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人