自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 python项目中的配置文件

灵感来自与Django源码import importlibimport osclass Settings: def __new__(cls, settings_module=None): if not hasattr(cls, '_has'): obj = object() settings_module = settings_module if settings_module else os.environ.get('SET

2021-03-11 11:40:03 131

原创 命令行解析总结

argparse"""argparse(python自带)"""import argparse# 初始化解析器parser = argparse.ArgumentParser()# 定义参数parser.add_argument("-f", "--file", help="统计指定文件类型")# 解析args = parser.parse_args()print(f"传入参数:{args.file}")click"""click(Flask作者写的)pip instal

2021-03-11 10:27:45 139

原创 sql执行过程解析&索引&优化&锁

sql执行过程将from后面的数据库表文件加载到内存如果有where,则对表进行过滤,取出符合条件的数据并生成一张临时表,(where是对从数据库表文件加载到内存中的原生数据过滤)若果有group by,则将表按条件进行分隔,分隔成若干个临时表select执行读取时,按有无group by两种情况:a) 没有group by,select会根据后面的字段名称,对内存中的临时表整列读取b) 有group by,会对内存中的若干临时表分别执行select,而且只取各临时表的第一条数据,然后形成新的

2021-03-10 15:34:47 112 2

原创 对http的一些浅谈

基本认识http协议底层是TCP/IP协议,也就是说,get/post都是TCP链接get和post的本质区别get在浏览器回退时时无害的,而post会再次提交请求get会被浏览器主动cache,而post不会,除非手动设置get只能进行url编码,而post能支持多种get参数有长度限制,而post没有。(大多数浏览器限制url长度为2K,大多数服务器最多处理64K大小)post更安全,因为post参数在body中,get直接暴露在url中get产生一个TCP数据包,post会产生两

2021-03-10 15:27:53 51

原创 性感的装饰器

装饰器在文件加载时就会被调用运用在mysql中import functoolsimport pymysqlfrom pymysql.cursors import DictCursorfrom DBUtils.PooledDB import PooledDBclass Mysql(object): __pool = None def __init__(self): self._conn = Mysql.__get_conn__() self.

2021-03-10 15:14:18 52

原创 GIL

GIL存在的原因python内核基于C编写, 大部分C语言库都不是原生线程安全的特性多线程进行cpu密集型计算,会存在频繁的上下文切换,使得效率低下多线程只对I/O密集型计算产生正面效果,而至少有一个cpu密集型线程存在,那么多线程效率就会因GIL而大幅下降py3对GIL的改进强制线程在固定时间后释放cpu密集型会优先获取在其他线程有机会运行之前,不允许当前线程重新获取(动态调整自身的优先级,py2.x没有此机制)...

2021-03-10 12:51:24 71

原创 python魔法方法小感

方法介绍__getattr__: 访问不存在的属性,会自动调用这个函数作为返回值__getattribute__: 那么无论访问什么属性,都是通过这个函数获取,包括方法;如果__getattribute__抛出了AttributeError异常,并且定了了__getattr__函数,那么会调用__getattr__这个函数,不论这个属性到底是不是存在,也就是说属性访问的一个大致优先级是:__getattribute__ > __getattr__ > __dict____dict__:

2021-03-10 12:44:33 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除