
Python学习
LiXueFu727224204
每天变好一点点
展开
-
python {}和dict()效率比较
python {}和dict()效率比较原创 2023-02-23 20:44:34 · 277 阅读 · 0 评论 -
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 40
json解析报错解决原创 2023-02-08 21:36:08 · 2213 阅读 · 0 评论 -
django filter exclude
django 查询原创 2023-02-08 21:10:34 · 215 阅读 · 0 评论 -
django迁移 Cannot add or update a child row: a foreign key constraint fails
django迁移外键冲突解决方案原创 2023-02-08 20:38:27 · 476 阅读 · 0 评论 -
python分布式心跳程序选型及实现
分布式心跳程序背景实现模型渐进模型介绍模型代码实现写在最后背景工作需要实现,客户端间隔若干时间发送心跳信号给到服务端收集,故需要选型实现服务端及客户端程序实现模型渐进1、初次实现方式为:1.1、后端-服务端:多线程+socker编程后端-客户端:socker编程+requests前端:vue.js1.2、后端-服务端:flask(非restful规范实现)+Blueprint后端-客户端:requests前端:vue.js1.3、后端-服务端:flask+flask-restfu原创 2021-08-11 11:10:02 · 1125 阅读 · 0 评论 -
生产实操——提供一种相对快速对比两个环境数据差异的方法
背景:订单下载时,会流入两个表格交易订单列表(t_order_main_0,正常流转)和问题订单列表(t_exception_order,如缺少商品关联或缺少价格维护等),比如存在某个时间段数据,如0130当天数据,从天猫商家后台可以导出数据校对为62条,订单拉取后需要校对是否存在漏单及分析漏单的情况时,逐个比对较为麻烦(或者从生产这两个表格导出数据后,和商家后台数据做Excel操作比对,但感觉还是没以下方法操作上来的快)操作:1、后台数据获取:跟业务沟通获取账号密码,登录天猫商家后台,导出指定时间段原创 2021-02-01 02:07:51 · 481 阅读 · 0 评论 -
python文件打包成可独立运行的exe程序
安装插件pyinstaller命令行中运行:pip install pyinstaller打包python文件为EXE文件D:\D\python_work\spider\hb_spider\pyinstaller -F fw_demo.py3、回车后,命令行中会不断有文件编译等操作,如果顺利,则文件夹中会多以下文件。笔记:pyinstaller常见相关指令,比如:-i: 后接图标文件名,表示用自定义图标生成exe程序-w: 生成的exe程序不带窗口执行pyinstalle.原创 2021-01-29 11:38:20 · 538 阅读 · 2 评论 -
O(n)时间复杂度内数组找到第二大的值
def secondeNum(lst): """ 找到第二大的数字 时间复杂度:O(n) 空间复杂度:O(1) """ import sys max_item = sec_item = -sys.maxsize for item in lst: if item > max_item: sec_item = max_item#把前一轮最大值变量赋值给第二大值,因为进入这里时,说明当前轮item为最新最原创 2020-10-18 16:50:20 · 4469 阅读 · 1 评论 -
Python实现前、中、后、层序遍历
二叉树前中后序遍历如图所示二叉树:前序遍历:5 3 1 4 8 6 9(先根后子,子先左再右)中序遍历:1 3 4 5 6 8 9(从左往右)后序遍历:1 4 3 6 9 8 5(先子后根,子先左再右)代码实现class BstNode: """二叉树节点""" pass#省略节点定义……class BST: """二叉树""" #省略初始化定义…… def print_preOrder(self): print("前序遍历:",原创 2020-08-12 11:50:03 · 1319 阅读 · 0 评论 -
Python连接MySQL、Mongodb、SQLite
存储方式不同关系型数据库:以文件方式永久存储到磁盘,如MySQL非关系型数据库:存储在内存,访问速度很快,通常用来做队列,缓存之类的服务,如MongodbSQLAlchemy(是一款ORM具体实现的库)定义:SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具。兼容众多数据库(如 SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企业级持久性模型,为高效和高性能的数据库访问设计,实原创 2020-08-10 17:20:33 · 1004 阅读 · 0 评论 -
浅析Python中的迭代器和生成器
迭代迭代定义:1、重复反馈过程的活动,目的是为了接近并到达所需的目标;2、每一次对过程的重复被称之为“迭代”,每一次迭代得到的结果会被用来作为下一次迭代的初始值目的:访问集合元素的一种方式>>> for i in range(3):... print(i)...012可迭代对象 iterable**定义:**能够逐一返回其成员的对象**特征:**定义了__iter__()方法或是实行了Sequence语义的__getitem__()方法的任意自定义对象原创 2020-08-09 19:15:15 · 194 阅读 · 0 评论 -
Python常见的魔方方法
1、doc作用:查看文档字符串(DocStrings),用于解释文档程序,帮助你的程序文档更加简单易懂使用:使用 doc(注意双下划线)def func(): """实现两数相加""" passprint(func.__doc__)#输出实现两数相加2、class作用:查看当前操作对象的类是什么使用:使用 class(注意双下划线)class Man: def run(self): passman = Man()print(man.__cl原创 2020-08-09 17:37:22 · 667 阅读 · 0 评论 -
Python中装饰器浅析-资料整理
函数嵌套作用:控制作用域或简化代码或需要返回一个函数对象作为指针便于后续使用def foo(): def bar(): print("this is bar() call.") print("that is foo() call.") return barfoo()()装饰器作用:让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针)其实说白了,装饰器其实就是嵌套函数def get_deco(f):原创 2020-08-08 15:32:06 · 172 阅读 · 0 评论 -
PEP8最为常见部分整理
PEP8Python Enhancement Proposal --Python 增强建议书1 缩进:4个空格的缩进(编辑器都可以完成此功能),不使用Tab,更不能混合使用Tab和空格。2 每行长度:每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。3 空行和段落:类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。4 模块导入:模块导入的顺序:按标准、三方和自己编写顺序依次导入,之间空原创 2020-08-08 13:46:58 · 333 阅读 · 0 评论 -
python2、python3部分差异点
1、打印:Python2 :既可度以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print ‘hi’Python3 :使用 print 必须要以小括号包括打知印内容,比如 print(‘hi’)2、range:python2 :range(1,10)返回列表,python3中返回迭代器,节约内存,python2中存在xrange/rangepython3中:只有range,实际效果同xrange共同点:xrange和range这两个基本是使用在循环的时候不同点:python2中原创 2020-08-08 11:54:21 · 200 阅读 · 0 评论 -
Python进程间通信资料整理
进程每运行一个程序,都会创建一个进程,运行中的程序,可以理解为进程。进程运行时需要向系统申请资源(内存、CPU等),进程之间资源相互独立,故GIL锁是不会影响,故多进程可以提升CPU效率。实现例子:from multiprocessing import Processimport os, randomdef myprint(i): print(os.getpid(), i)if __name__ == "__main__": print("主进程 %s " % os.ge原创 2020-08-08 11:36:47 · 173 阅读 · 0 评论 -
ssh key使用简析整理
定义Secure Shell 简写SSH,是一种允许两台电脑之间通过安全的连接进行数据交换的网络协议,常应用于用户名、密码的登录应用1、应用于远程登录会话和其他网络服务提供安全性的协议2、SSH利用SSH Key来进行基于秘钥的安全验证特点1、通过加密保证了数据的保密性和完整性2、利用SSH协议可以有效防止远程管理过程中的信息泄露问题3、通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗,可以较为方便登录到SSH服务器,而无需输入密码(由于无需发送密码到网络中,SSH密钥原创 2020-08-08 11:21:17 · 609 阅读 · 0 评论 -
GIL资料整理
以下为学习GIL过程中资料整理,若有描述不准,请纠正指出GIL(cpython)定义:Python的GIL(Global Interpreter Lock)全局解释器锁解释:首先明确一点GIL并不是Python的特性,而是解释器的特性.它是Python的解释器Cpython用来做多线程的控制和调度用的全局锁.保证同一个时刻只有一个线程在运行(注意:一段时间内线程是交叉运行).Python还有一些别的解释器,比如Jpython就没有GIL锁.Cpython现在已经成了python的实现标准,所以我们都说原创 2020-08-08 11:19:09 · 166 阅读 · 0 评论 -
Python的Web框架资料整理
web框架本质所有的web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,这样我们就可以实现一个web框架了.socket服务端功能划分a. 负责和浏览器收发消息(socket通信) -> wsgiref/uWsgi/gunicorn…b. 根据用户访问的不同的URL的路径,执行不同的处理函数c. 从HTML读取内容,并且完成字符串的替换. -> Jinja2模板语言Web框架的分类1、 框架自带a,b,c -> Tornado2、框架自带b原创 2020-08-07 18:04:36 · 200 阅读 · 0 评论 -
常见几种排序理解及Python实现
冒泡排序**思路:**每趟两两比较,确定最后一个数为最大值,依次,确定倒数第二个为第二大值……,直到所有数轮完,则发现从后到前已经有序(大–小),从前往后看,彷如水泡从水底往水面升起过程(水泡越来越大)而由来例子:[3,2,1]1、第一趟的第一次:第1个位置(下标为0)会和第2个位置(下标为1)比较,也就是3会和2比,由于3比2大,故交换,变成[2,3,1]2、第一趟第二次:第2个位置(下标为1)会和第3个位置(下标为2)比较,也就是3会和1比,由于3比1大,故交换,变成[2,1,3]3、第二趟原创 2020-08-07 17:01:38 · 178 阅读 · 0 评论 -
json和ajax资料整理
以下近期学习到json和ajax资料整理,若有不准,请各位指出,欢迎交流学习json简析:JSON(JavaScript Object Notation, JS简称) 是一种轻量级的数据交换格式,最初是用于JavaScript,后面拓展到与服务器传参交换目的:方便不同程序之间交换数据背景:网页访问期间,浏览器和服务器之间交互只能发送字符串格式:键值对,如{“pageIndex”:1,“pageSize”:20}其他支持语言:js,python,Java,PHP都支持json的编码与解码pyth原创 2020-08-07 10:01:39 · 257 阅读 · 0 评论 -
cookie和session资料整理
鉴于自己有时会不太理解cookie和session区别,这里统一做一下整理,有描述不足的地方,请各位指正背景http协议中并无用户多次访问之间规则,也就是说,多次访问,身份上都是毫无关联的,服务器是无法得知哪次才是你,故由此产生了cookie和session,浏览器实际确认用户身份是用cookie,而session则是cookie的加密版cookie**目的:**让多次访问之间,服务器能够识别出来**定义:**当用户访问网站时,可以在浏览器端记录一小段内容,每次访问时,在访问数据头部都带上该段co原创 2020-08-07 09:30:05 · 182 阅读 · 0 评论 -
Python的GC资料整理
由于近期整理资料,故理一理Python的垃圾回收机制,有借鉴其他大佬的文字,若有侵权,请联系删除。一、垃圾回收机制计算机术语,指Garbage Collection在Python主要指系统自己管理内存,清理垃圾的机制1、主体机制python中的垃圾回收的算法是采用引用计数为主,标记清除为辅2、引用计数引用计数法的原理是:每个对象维护一个变量来记录当前对象被引用的次数,每当新的引用指向该对象的时候,该引用计数就加1.当该对象的引用计数失效时,就减1.一旦引用计数为0,该对象就会被回收.备注:以原创 2020-08-06 18:14:26 · 176 阅读 · 0 评论 -
Python中关于json.dump/json.dumps/json.load/json.loads简单用法解析
使用区分1、json.dump/json.load针对于文件操作**json.dump:**将文件中的Python基本类型转换为文件中的json**json.load:**将文件中的json转换为Python可识别的基本类型备注:json.dump()操作完,发现当前路径下的test.txt中已经出现result的内容>>> result{'pageSize': 20, 'pageIndex': 1}>>> with open('test.txt','w')原创 2020-08-06 17:17:08 · 281 阅读 · 0 评论