
面试题的大海
番茄炒鸡蛋z
好好学Python
展开
-
数据库查询优化
ORM语句的特点惰性查询:如果仅仅是编写了orm语句,后面没用到该语句查询出来的参数,那么orm会自动识别,不发起sql查询语句。(只有使用了才会去数据库查询数据)1: only和defer # res = models.Book.objects.all() res = models.Book.objects.only('title') # print(res.title) # 不会走数据库 print(res.authors) # 走数据库 """ 查询only括号里面的字段不会重新原创 2020-10-21 10:31:47 · 112 阅读 · 0 评论 -
Django的生命周期
第一步:浏览器发起请求第二步:WSGI创建socket服务端,接收请求(Httprequest)第三步:中间件处理请求第四步:url路由,根据当前请求的URL找到视图函数第五步:view视图,进行业务处理(ORM处理数据,从数据库取到数据返回给view视图;view视图将数据渲染到template模板;将数据返回)第六步:中间件处理响应第七步:WSGI返回响应(HttpResponse)第八步:浏览器渲染...原创 2020-07-16 10:36:31 · 214 阅读 · 0 评论 -
谈谈对Python中GIL的理解
GIL全称Global Interpreter Lock,中文是全局解释器锁。GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。Python完全可以不依赖于GIL。一个进程,python只有一个GIL,运行python时,就要拿到这个锁才能执行,在遇到I/O 操作时会释放这把锁。GIL是一把全局排他锁,毫无疑问全局锁的存在会对多线程的效率有不小影响。甚至就几乎等于Python是个单线程的程序。GIL的目的是确保每个进程中只有一个线程运行...原创 2020-07-15 22:18:56 · 386 阅读 · 0 评论 -
简述Python中的迭代器、生成器和装饰器
一、迭代器(Iterator)1、先来了解一下可迭代对象:可以直接作用于for循环的对象统称为可迭代对象,即Iterable。集合数据类型,如list、tuple、dict、set、str等;generator,包括生成器和带yield的generator function。2、什么是迭代器?内部实现了iter()方法和next()方法的对象就是迭代器。iter()是返回迭代器对象本身;调用next()方法会返回下一个值(直到没有数据时抛出StopIteration错误)总结:-原创 2020-07-15 20:35:54 · 751 阅读 · 0 评论 -
Python中__getattr__和__getattribute__的区别
__getattr__当你请求获取一个并没有定义的属性时,python将会调用此方法。下图示例当中,Student没有__ getattr __方法,我们获取student.name和student.age这两个参数都可以成功获取,但是当我们尝试得到student.sex参数时,python抛出了属性异常AttributeError: 'Student' object has no attribute 'sex'class Student: def __init__(self):原创 2020-07-12 23:06:49 · 1693 阅读 · 0 评论 -
Python多进程和多线程总结
一、什么是进程(process)和线程(thread)进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程不能独立存在,必须依赖进程存在,一个进程至少有一个线程。线程是CPU调度和分配的最小单位。一个线程就是一堆指令集合。看过一篇对进程、线程比较形象的解释的文章,链接如下:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html二、Python多进程python提供原创 2020-07-12 17:50:39 · 528 阅读 · 0 评论 -
Python垃圾回收机制
Garbage collection(GC)Python中的垃圾回收机制采用的是引用计数为主,分代回收和标记-清除为辅的策略1. 引用计数(Reference Counting)Python中每个东西都是对象,对象的核心是一个结构体PyObject:typedef struct _object { Py_ssize_t ob_refcnt; # 引用计数值 struct PyTypeObject *ob_type;} PyObject;PyObject是每个对象必有的内容,其原创 2020-07-11 12:53:01 · 160 阅读 · 0 评论 -
面试题【数据库】
1、 列举常见的关系型数据库和非关系型都有那些?关系型:Mysql / Oracle / SQL Server非关系型:redis / MongoDB…关系型数据库:采用关系模型来组织数据结构的数据库(二维表)非关系型数据库(Nosql):严格上不是一种数据库,应该是一种数据结构化存储方法的集合 NoSql的分类: 1.键值型数据库 (Redis) 2.文档型数据库 (MongoDB) 3.列存储数据库 (HBase) 4.图原创 2020-07-06 17:03:44 · 236 阅读 · 1 评论 -
Python2和Python3的区别
目录1. printPython2:Python3:2. 整数的除法Python2:Python3:3. UnicodePython2:Python3:4. 发展1. printPython2:在python2中print被看成是一个语句,而不是一个函数,想要输出“hello python”,print语句应该这样写:print "hello python"Python3:在Python3中,print()会被看成是一个函数,因此要输出“hello python”,print语句这样写:pr原创 2020-07-05 13:51:50 · 109 阅读 · 0 评论