python知识汇总

python变量作用域

		局部变量 ——>外层变量——>全局变量——>内置变量

闭包

	 在不改变原有代码的前提下,增加业务功能(验证,校验......),根据外层函数的局部变量,可以得到不同的结果

python代码执行流程

	代码由python编译器,编译为电脑可执行代码,编译的结果保存在内存的pycodeobject中,当代码执行完毕,python解释器将pycodeobject写入在.pyc文件中,当程序第二次执行时,程序会在硬盘中查找这个.pyc文件,找到,则直接载入,找不到执行上边步骤。
	.pyc文件只会在python程序认为是重要文件时才会编译,即(import导入模块,from ... import ...导入模块时)
	如果原代码文件发生改变,python程序会对.pyc文件跟.py文件的修改时间进行对比,不一样,则重新编译并覆盖原.pyc文件,一样,载入。

请求钩子

	flask框架中的请求钩子分为四种,即:before_first_request(执行程序前执行一次,适合做验证,测试),before_request(每次执行程序前都会执行,适合做增加功能),after_request(执行程序后执行,适合做清理内存),teardown_request(程序退出执行,适合做统计功能)

ORM

	orm是对象关系映射框架,使用SQLAlchemy,在模型类使用,对象,方法的关系,通过SQLAlchemy映射为sql原生语句,对数据库进行增删改查

迭代器

	每一个迭代器内部都会由两个方法__iter__,__next__,__iter__方法的作用是为了迭代每一个数据,__next__方法的作用是获取迭代完 的下一条数据

中间件

	在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。

生成器

	当用户需要使用某个对象时,Python才根据事先设计好的规则开辟内存空间创建这个对象供用户使用,而不是像列表一样事先将所有的对象都创建完毕之后再提供给用户使用。这种机制在Python中成为生成器(generator)。
	在一个函数定义中包含yield关键字,则这个函数就不再是一个普通的函数,而是一个生成器(generator)

def func():
  n=1
  for i in range(3):
    yield n
    n+=1
c=func()
a1=c.__next__()
a2=c.__next__()
a3=c.__next__()
[流程解释]:

对于普通的生成器,第一个__next__()方法的调用相当于启动生成器,此时会从生成器函数的第一行开始执行,直到第一次执行完yield语句(第四行)后,跳出生成器函数。

当调用第二个__next__()方法后,会重新进入生成器函数,并从yield语句的下一条语句(第五行)开始执行,直到重新运行到yield语句,执行后再次跳出生成器函数。

后面的__next__()方法调用以此类推

cors跨域

(http://www.ruanyifeng.com/blog/2016/04/cors.html)

同源指:协议相同,域名相同,端口相同

wsgi工作原理

链接地址:
		https://blog.csdn.net/aifore/article/details/86721626

Mysql读写分离

1.https://www.cnblogs.com/nyxd/p/5382482.html
2.https://www.cnblogs.com/luckcs/articles/2543607.html

Redis集群

https://blog.csdn.net/jaylaozhou/article/details/86493626

JWT机制

https://blog.csdn.net/why15732625998/article/details/78534711

FastDFS分布式系统

什么是FastDFS?

	FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

	FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。

	Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。

	Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。


服务端两个角色:

	Tracker: 管理集群,tracker 也可以实现集群。每个 tracker 节点地位平等。收集 Storage 集群的状态。
	Storage: 实际保存文件, Storage 分为多个组,每个组之间保存的文件是不同的。每 个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有 主从的概念。

流程:
	客户端向Tracker server发送保存文件请求,Tracker server询问Storage server中的是否有空闲内存,有空闲地址,Storage server分配地址并返回Tracker server,客户端接收到Tracker server中的地址地址,并携带数据发送请求并保存,Tracker server返回保存结果跟地址。
	文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

MVC/MVT

	MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
	MVT,是在MVC的基础上改进过来的
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

Restful设计风格

1.https://blog.csdn.net/xiaochendefendoushi/article/details/81083332
2.https://www.cnblogs.com/kuyuecs/p/5949075.html
3.https://www.jianshu.com/p/65ab865a5e9f

Celery异步处理任务

Celery 是一个专注于实时处理和任务调度的分布式任务队列, 同时提供操作和维护分布式系统所需的工具.. 所谓任务就是消息, 消息中的有效载荷中包含要执行任务需要的全部数据.
链接:https://www.jianshu.com/p/027538ffb8c1

GIL全局解释器锁

https://www.cnblogs.com/SuKiWX/p/8804974.html

Docker

https://blog.csdn.net/hcljava/article/details/78588623

TCP/UDP

https://blog.csdn.net/zhang6223284/article/details/81414149

数据结构

https://blog.csdn.net/yeyazhishang/article/details/82353846

算法排序

https://www.cnblogs.com/onepixel/articles/7674659.html

数据库操作

增删改查语句,连表语句
数据库索引, 索引底层算法

Elasticsearch

待补充
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值