![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python进阶
文章平均质量分 59
还是那个同伟伟
百万代码中取bug首级
展开
-
Pandas中两个DataFrame求差集
【代码】Pandas中两个DataFrame求差集。原创 2024-03-21 10:23:12 · 610 阅读 · 0 评论 -
python中的operator模块
# python中的模块 operator## 1. itemgetter 函数### 1.1 itemgetter 功能和参数`itemgetter是Python内置的operator模块中的函数之一,用于获取可迭代对象中的某个元素(或多个元素)或者对象的属性值。itemgetter函数可以接受一个或多个参数,每个参数可以是一个整数、一个字符串或一个可以调用的对象。`- itemgetter(n):获取可迭代对象中第n个元素。- itemgetter(n1, n2, ...):获取可迭代对象中第原创 2023-06-12 14:04:22 · 2308 阅读 · 0 评论 -
python 中的内置函数 slice()
# python 中的内置函数 slice()## 1.1 slice() 功能`slice()是Python内置函数之一,用于创建切片对象。切片对象可以用于对序列进行切片操作,如字符串、列表、元组等。`## 1.2 slice() 函数语法格式```pythonslice(start, stop[, step])```- 参数解释:```text其中,start、stop和step都是可选参数,分别表示切片的起始位置、终止位置和步长。如果不指定start,则默认从序列的起始位置开始;原创 2023-06-07 14:31:27 · 3630 阅读 · 1 评论 -
python 中的 setdefault 方法详解、底层原理和用法
# python 中的 setdefault 方法详解、底层原理和用法## 1、setdefault 方法功能`setdefault是Python中字典的一个方法,它用于在字典中查找指定键如果键存在, 则返回对应的值;如果键不存在,则在字典中添加该键,并将其值设置为指定的默认值`## 2、setdefault 用法详解```pythondict.setdefault(key, default_value)````其中,key为要查找或添加的键,default_value为键不存在时设置的原创 2023-06-05 14:24:43 · 7565 阅读 · 0 评论 -
python中的 collections 模块(用法、详解、底层原理,示例等)
# python中的 collections 模块## 1、collections 模块中的 defaultdict### 1.1 defaultdict 功能 `可以设置一个默认值作为字典中新key的默认值。该默认值可以是任何对象,包括函数、列表、元组、集合等。默认值不需要像dict那样事先定义,因为它在需要的时候会自动创建``使用defaultdict,可以简化代码并提高代码的可读性,而且可以防止KeyError异常的出现。同时,defaultdict的性能与普通字典相当,因为底层实现并不原创 2023-06-05 13:47:35 · 4253 阅读 · 0 评论 -
Windows10更换pip源(加速安装python模块)
1. 可选择更换国内的pip源(国内常用镜像源)• 清华大学 :https://pypi.tuna.tsinghua.edu.cn/simple/• 阿里云:http://mirrors.aliyun.com/pypi/simple/• 中国科学技术大学 :http://pypi.mirrors.ustc.edu.cn/simple/• 华中科技大学:http://pypi.hustunique.com/• 豆瓣源:http://pypi.douban.com/simple/• 腾讯源:http原创 2023-01-29 19:48:43 · 2007 阅读 · 0 评论 -
pandas将时间列,分组聚合成间隔两个小时或者随意时间的间隔,统计个数
Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。重新取样时间序列数据。方便的时间序列的频率转换和重采样方法。对象必须具有类似datetime的索引(DatetimeIndex、PeriodIndex或TimedeltaIndex),或将类似datetime的值传递给on或level关键字。有关resample()的用法可参考:Pandas中resample方法详解_风雪云侠的博原创 2022-09-21 15:43:29 · 982 阅读 · 0 评论 -
python中字典套列表排序,字典列表排序,按照某个字段或者某几个字段进行排序
字典列表,根据某个或某几个字典字段来排序这个列表。核心是itemgetter()函数rows 被传递给接受一个关键字参数的 sorted() 内置函数。这个 参数是 callable 类型,并且从 rows 中接受一个单一元素,然后返回被用来排序的值。 itemgetter() 函数就是负责创建这个 callable 对象的。operator.itemgetter() 函数有一个被 rows 中的记录用来查找值的索引参数。原创 2022-09-19 14:40:18 · 674 阅读 · 0 评论 -
python中的deque模块(collections的deque模块)
insert(index,value), 在index位置上,插入value值, 注意顺序。rotate(n) , 将队列 向右旋转n步(默认n=1)。如果n为负,则向左旋转。index(value,start=None,end=None), 怎么使用请看代码。popleft() 方法弹出元素,从头部弹出,并且返回弹出的这个元素。pop() 方法弹出元素,从尾部弹出,并且返回弹出的这个元素。运行结果,我们可以看到,原创 2022-09-19 11:32:30 · 9470 阅读 · 1 评论 -
Python中的协程
协程不是计算机提供,而是程序员人为创造协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术,简而言之,其实就是通过一个线程实现代码块相互切换执行(用一个线程,在代码之间切换游走的执行)1.实现协程的方法greenlet(早期模块)yield关键字asyncio(python3.4)async & await关键字2.协程的意义在一个线程中如果遇到IO等待时间,线程不会一直等待,而是利用空闲的时候再去干点其他事情3.异步编程3.1 事件循环理解成为一个死循原创 2022-08-27 09:02:06 · 560 阅读 · 0 评论 -
Python读取excel文件可读取xlsx格式和xls格式可直接读取超链接,读出为字典格式(列表套字典),处理合并单元格的问题
直接上代码:(代码有注释,代码下方有解释)1.可读取excel中的xlsx格式文件 2.可读取excel中的xls格式文件 3.可直接读取网页上的excel的超链接4.解决有列合并的情况以及行合并的问题,由合并的情况,分别对应的填充5.返回数据为 {"Sheet1":[{},{},{}....], "Sheet2":[{},{},{}....]} 注意,有的工作表中的名字是自己工作表的名字,这里只举例import osfrom pprint import pprintim...原创 2021-12-16 10:28:12 · 1751 阅读 · 0 评论 -
Python转换excel文件,将xlsx文件转换为xls文件
Python将xlsx文件转换为xls文件原创 2021-12-15 11:20:18 · 5733 阅读 · 6 评论 -
python读取word中后缀名docx的文件的表格
1.安装所需要的解析包pip install python-docxpip install docx2.使用代码例子来进行演示用法解析出word中的如下表格:def parse_docx(file): word_docx = docx.Document(file) table = word_docx.tables[0] # 读取word中第一个表格 type_list = [] for i in range(2, len(table..原创 2021-09-08 10:50:30 · 739 阅读 · 0 评论 -
Python中使用代码将后缀名doc文件改为docx
1.首先安装所需要的模块,pypiwin32python -m pip install pypiwin322.程序代码def doc_to_docx(file): word_app = client.Dispatch("Word.Application") word_doc = word_app.Documents.Open(file) # 打开doc后缀名的文件 word_doc.SaveAs("{}x".format(file), 12) # 另存为后缀为".原创 2021-09-08 09:13:48 · 566 阅读 · 0 评论 -
Python中url的编码以及解码
当有些请求,或者地址中的汉字以及特殊符号不编码使用不了时候,则需要去把中文进行编码,有些地址拿到之后,需要进行解码,不然中文会变成百分号加几个字母和数字的形式1.url编码from urllib.parse import quote# 将字符串‘程序设计’进行编码text = quote("程序设计", 'utf-8')print(text)# 打印结果# %E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A12.url解码from urllib.pars.原创 2021-09-07 08:58:27 · 12179 阅读 · 0 评论 -
使用VSCode写Python代码的推荐安装的插件
1.Python插件(直接搜索Python下载安装)Python插件的全称是Python extension for Visual Studio Code,它是一个 Visual Studio Code 扩展,具有对 Python 语言的丰富支持(对于该语言的所有受支持版本:> = 3.6),包括诸如 IntelliSense,linting,调试,代码导航,代码格式,Jupyter Notebook 支持,重构,变量之类的功能资源管理器,测试资源管理器,代码段等等......原创 2021-06-07 15:15:33 · 14369 阅读 · 4 评论 -
Python中的并行处理(Pool.map()、Pool.starmap()、Pool.apply()、)
1.并行处理 并行处理是一种在同一台计算机的多个处理器中同时运行任务的工作模式。这种工作模式的目的就是减少总的任务处理时间,但是进程之间的通信会有额外的开销,因此对小的任务而言,总的任务时间会有所增加而不是是减少。 在Python语言中,multiprocessing模块通过使用子进程(而不是线程)来运行独立的并行进程。它可以让您利用机器上的多个处理器(Windows和Unix),也就是说,多个进程可以完全独立的在内存中运行2.自己的设备最多可以进行多少个并行处理 ......原创 2020-09-22 18:39:54 · 29296 阅读 · 2 评论 -
Python中的__new__(new函数)
1.魔术方法 : 系统的函数,函数名称为 __xxx__,如 __init__,__new__,__del__等 __init__ :可以定义一个对象的初始化操作,但是,__init__并不是第一个被自动调用的函数,实际上,还有一个 __new__, 两个函数构成了“构造函数”# 1. 只定义initclass Check1: # 构造函数 # 1.init:self表示的当前类的实例【对象】 def ...原创 2020-09-21 21:24:36 · 2005 阅读 · 0 评论 -
Python中的time、datetime、calendar模块(时间模块)
1.import xxximport xxx as xxx2.from xxx import xxx原创 2020-09-20 18:40:48 · 394 阅读 · 0 评论 -
Python中的包以及跨目录访问变量和函数(同级目录)
包1.包是一种管理python模块命名空间的形式,采用“点语法”,避免文件或者文件夹的命名冲突的情况可以创建一个目录,在目录下面创建一个名称为 __init__.py的文件(前后给两个下划线)也可以直接点击Python Package直接创建包,自动会生成初始化文件这样dir01就叫做包了,而不是一个普通的文件夹包和普通文件夹的一个区别: 2. 包下必须存在一个文件,名称为 :__init__.py ,目前该文件为空,表示当前文件夹并不是一个普通的文件夹,而是一个包,...原创 2020-09-20 11:27:58 · 779 阅读 · 2 评论 -
Python面试题(一)
1.写出下列代码的打印结果def extendList(val,list=[]): list.append(val) return listlist1 = extendList(10)list2 = extendList(123,[])list3 = extendList("a")print(list1)print(list2)print(list3)运行结果和解析过程"""[10, 'a'][123][10, 'a']考察点: 引用的指向、默认参.原创 2020-09-18 21:44:27 · 710 阅读 · 0 评论 -
Python实现简单的购物车
思路: 1.引导用户输入金额 2.引导用户选择商品 3.根据用户的选择将商品添加到购物车 4.删除商品 5.结算购物车,退出系统# 购物车# 商品名称作为key,商品数量作为valueshoppingcar = {}# 添加商品def addgoods(product, num): if num.isdigit(): # isdigit()如果字符串只包含数字则返回 True 否则返回 False。 num = int......原创 2020-08-31 12:28:50 · 7346 阅读 · 0 评论 -
Python中的高阶函数sorted
1.列表名.sort()和sorted()都是对列表进行排序2.相同点: (1)默认升序,如果要降序,则设置reverse = True (2)都可以自定义排序规则,只需要设置key关键字 3.不同点: (1)调用:列表名.sort() , sorted()直接使用 (2)sort在列表内部排序,sorted会生成一个新的列表,原列表不受影响.4.普通的排序# 普通排序,默认升序li...原创 2020-08-30 23:12:25 · 259 阅读 · 0 评论 -
Python中的高阶函数filter
1.filter(fn,iter) 功能:将fn依次作用于iter中的每个元素,根据返回的结果确定是否需要保留元素, 如果返回的是True则表示保留,如果返回的是False则表示需要过滤掉,2.例1,将列表中的偶数筛选出来list1 = [45, 163, 58, 8, 48, 16, 42, 91, 39]def func1(num): if num % 2 == 0: return True return Fa...原创 2020-08-30 22:19:48 · 201 阅读 · 0 评论 -
Python中的高阶函数reduce
1.reduce(fn,iter) 功能:用fn对iter里面的第一个和第二个元素进行运算,将得到的结果和第三个元素用fn函数运算,最后得到一个结果。 直到序列中的元素全部参与运算2.工作原理[a,b,c,d] ———> fn ( fn ( fn ( a,b ) , c ) , d )3. 例如: 求一个数字列表中所有元素的和用reduce函数from functools import reducelist1......原创 2020-08-30 12:45:46 · 944 阅读 · 2 评论 -
Python中的高阶函数map
map【映射】1.map(fn,iter) fn: 函数 iter : 序列【可迭代对象】2.功能: 会将iter中的每个元素用作于fn的运算中,返回一个新的结果,产生一新的序列3.生成一个序列,序列中的元素为1,4,9,16,25# 方式一def func1(x): return x ** 2result_1 = map(func1, range(1, 6))print(result_1, type(r...原创 2020-08-29 17:35:04 · 241 阅读 · 0 评论 -
栈和队列(python代码)
1.栈【Stack】:是只限定在表的一端进行数据插入和删除的线性表2.队列【Queue 】:是在表的一端进行数据插入,在表的另一端进行数据的删除的线性表3.栈和队列都是线性表:线性表只是一种线性结构,内存中存储数据和删除数据的方式4.栈和队列的相同点和不同点 (1)相同点: ①:栈和队列都是线性表 ②:插入数据都是表尾进行的 ③:都可以通过顺序结构和链式结构实现 ...原创 2020-08-26 20:43:51 · 693 阅读 · 0 评论 -
python中的装饰器(以及多个装饰器详细执行过程)
装饰器1.如果要增强一个函数的功能,但又不希望更改原函数中的代码,这种在代码运行期间动态增加功能的机制被称为装饰器 【Decorator】2.本质:实际上就是一个闭包,只不过被装饰的函数需要作为参数传递给闭包3.装饰器的书写格式:给闭包的外部函数设置一个参数【需要被装饰的函数】, 外部函数的返回值是内部函数的引用【装饰的结果】,这种函数被称为高阶函数4.装饰器的好处: ①不用修改源代码就可以更改函数 ②提高代码的维护性 ③提高代码的复用性...原创 2020-08-16 19:20:11 · 1699 阅读 · 0 评论 -
Python中的闭包
1.闭包的概念如果在一个函数的函数体中又定义了另一个函数,外层的函数被称为外部函数(outter),内层的函数被称为内部函数(inner)在一个外部函数中定义了一个内部函数,并且外部函数的返回值是内部函数的引用,这样就构成了闭包。# 1.函数的简单用法def func1(): num1 = 10 print("func--1")def func2(): # 问题: 在一个函数中无法访问另一个函数的变量 # print(num1) print(".原创 2020-07-11 16:03:48 · 139 阅读 · 0 评论 -
Python中的匿名函数
1.概念 匿名函数其实就是lambda表达式 语法 : lambda形参列表:函数体# 匿名函数def text(x, y): result = x + ylambda x, y: x + y""" def text(x, y) 是def的声明部分,return x+y 是实现部分 lambda x,y是声明部分,x + y是实现部分"""2. lambda的特点以及优缺点 2.1 lambda 是对def标准形......原创 2020-07-08 15:19:15 · 11246 阅读 · 0 评论 -
Flask框架(flask中设置和获取session)
1. session 数据是保存到后端的数据库中2.session中的从狭义和广义上分: (1)session,广义上 : 是一种机制:在前端当中存一个session_id ,在后端当中去保存 这份session的属性值,然后访问的时候只要能够带上这份session_id 的值,就可以知道之前保存的数据是什么。 整个的......原创 2018-12-24 18:33:42 · 16418 阅读 · 2 评论 -
Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)
1.请求上下文与应用上下文 请求上下文(request context) request和session都属于请求上下文对象。 应用上下文(application context) current_app和g都属于应用上下文对象。 current_app:表示当前运行程序文件的程序实例。 g对象:处理请求时,用于临时存储的对象,每次请求都会重...原创 2018-12-24 21:41:03 · 376 阅读 · 0 评论 -
Flask框架(flask中的数据库SQLAlchemy(python3),配置、模型类、创建表)
1. SQLAlchemy是一个关系型数据库框架, 它提供了高层的ORM和底层的原生数据库的操作。 flask-sqlalchemy是一个简化了SQLAlchemy操作的flask扩展。2. 安装 环境 python3.6 + window10 + pycharm pip installflask-sqlalchemy......原创 2018-12-25 22:05:18 · 4280 阅读 · 2 评论 -
Flask框架(flask中的蓝图Blueprint)
1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由、视图函数、定义模型等等。 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。 这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。2. 问题怎么解决呢 一个程序执行文件中,功能代码过多。 让代码实...原创 2019-01-02 15:49:16 · 1223 阅读 · 0 评论 -
jieba库(jieba库的介绍以及分词原理,jieba的三种模式和常用函数,利用Jieba模块进行中文词语的统计)
环境: Python3.6 + windows10jieba介绍以及分词的原理1. jieba 是Python中的优秀的中文分词第三方库 --中文文本需要通过分词获得单个的词语2. jieba 库提供三种分词模式 ,最简单只需要掌握一个函数3.jieba库的安装 只需要在cmd 中, pip install jieba 4.. jieba分......原创 2019-01-25 20:32:28 · 39685 阅读 · 2 评论 -
MongoDB数据库(8.Python中使用mongodb数据库以及pymongo模块用法)
在Python中使用MongoDB数据库,首先要下载pymongo模块直接在命令行 pip install pymongo 就可以了Python中使用pymongo模块对MongoDB数据库进行操作,增删改查。。。。。。导入模块from pymongo import MongoClient建立数据库连接# 建立和MongoDB数据库的连接client ...原创 2019-03-18 08:55:28 · 496 阅读 · 0 评论 -
Django框架(8.Django中的模板文件的使用和模板变量的简单使用)
为什么使用模板通过视图可以给用户返回一些字符串等等,那如何向请求者返回一个漂亮的页面呢?肯定需要用到html、css,如果想要更炫的效果还要加入js,问题来了,这么一堆字段串全都写到视图中,作为HttpResponse()的参数吗?这样定义就太麻烦了吧,因为定义字符串是不会出任何效果和错误的,如果有一个专门定义前端页面的地方就好了。解决问题的技术来了:模板。在Django中,...原创 2019-04-02 18:06:08 · 939 阅读 · 1 评论 -
Python中的GIL(全局解释器锁)
1. GIL全称Global Interpreter Lock,每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。2.GIL的缺点 GIL使Python不能充分利用多核心CPU资源 GIL会使Python代码 不管CPU有多少个核,也不管开了多个线程,但是同一时刻只能在一个核上面执行一个线程3.Python为什么要有G...原创 2019-05-14 14:37:43 · 486 阅读 · 0 评论 -
Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
1. ndarray的基本操作# 1.索引与切片 和列表的是一个道理n2 = np.arange(0,10,1)print(n2)print(n2[::-1]) #反转print(n2[::2]) #按步长取数据#2. 变形 使用reshape函数,注意参数是一个tuple!n3 = n2.reshape((5,2))print(n3)# 3. 级联 np....原创 2018-11-06 11:32:14 · 3351 阅读 · 0 评论 -
Flask框架(1.flask概述,Windows配置 virtualenv虚拟环境步骤和路由以及视图函数的定义)
框架: 软件框架,指的是为了实现某个业界标准或者完成特别基本任务的软件组件规范,也指为了实现某个软件组建规范时,提供规范所要求之基础功能的软件产品。 框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系。我们通常依据特定的框架实现更为复杂的业务逻辑。框架,就是程序的骨架。1.Web框架:能够被服务器调用起来,根据客户端的不同请求执行不同的逻辑处理形成要返回的数据...原创 2018-12-18 20:00:27 · 465 阅读 · 0 评论