![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习笔记
箫墨书
这个作者很懒,什么都没留下…
展开
-
对GIL锁的理解
Python语言和GIL解释器锁没有关系,它是在实现Python解析器(CPython)时所引入的一个概念,同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行,然而因为CPython是大部分环境下默认的Python执行环境。所以在很多人的概念里CPython就是Python,也就想当然的把GIL归结为Python语言的缺陷,所有GIL并不是python的特性...原创 2018-07-03 00:18:45 · 4744 阅读 · 0 评论 -
死锁
1.什么是死锁: 一般情况下,如果同一个线程先后两次调用lock,在第二次调用时,由于锁已经被占用,该线程会挂起等待别的线程释放锁,然而锁正是被自己占用着的,该线程又被挂起而没有机会释放锁,因此就永远处于挂起等待状态了,这叫做死锁(Deadlock)。 另一种:若线程A获得了锁1,线程B获得了锁2,这时线程A调用lock试图获得锁2,结果是需要挂起等待线程B释放锁2,而这时线程B也...转载 2018-07-03 00:27:47 · 112 阅读 · 0 评论 -
浅析session和cookie
状态保持因为http是一种无状态协议,浏览器请求服务器是无状态的。无状态:是指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是新的请求无状态的原因:浏览器与服务器是使用socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前socket连接,而且服务器也会再处理完毕页面之后销毁页面对象。有时需要保持用户浏览状态,比如用户是否登录过,浏览过哪些商品。实现状态...原创 2018-07-03 20:13:13 · 114 阅读 · 0 评论 -
GenericAPIView
继承自APIVIew,主要增加了操作序列化器和数据库查询的方法,作用是为下面Mixin扩展类的执行提供方法支持。通常在使用时,可搭配一个或多个Mixin扩展类。提供的关于序列化器使用的属性与方法属性:serializer_class 指明视图使用的序列化器方法:get_serializer_class(self)返回序列化器类,默认返回serializer_class,可以重写,例如:def ge...原创 2018-07-03 20:32:05 · 984 阅读 · 0 评论 -
生成器、迭代器、容器和可迭代对象的区别与特征
容器(container):容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个的迭代获取,可以用in,not in关键字判断元素是否包含在容器中,常见的容器有list,set,dict,tuple,str可以把容器看做是一个盒子,一栋房子。 可迭代对象:可迭代对象内部实现了__iter__方法,调用该方法返回一个迭代器对象,迭代器内部保持一个状态,该状态用于记录当前迭代所在的位置,...原创 2018-07-12 22:25:09 · 759 阅读 · 0 评论 -
关于浅拷贝和深拷贝
为什么要用拷贝,在修改(处理)a数据的时候,不要影响到原有的b数据,所以要用到拷贝,拷贝的是引用,不是数据 要理解拷贝首先要对赋值操作有以下认识: 1.赋值是将一个对象的地址赋值给一个变量,让变量指向该地址 2.修改不可变对象(str,tuple,int)需要开辟新的空间 3.修改可变对象(list, dict, set)不需要开辟新的空间 4.对象,被分配的一块内存,储存其所代表的值 ...原创 2018-07-12 22:29:12 · 124 阅读 · 0 评论 -
事务的四种隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的...转载 2018-07-06 22:05:56 · 120 阅读 · 0 评论 -
python 字典update方法
Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里update()方法语法:dict.update(dict2)dict2 -- 添加到指定字典dict里的字典。以下实例展示了 update()函数的使用方法:dict = {'Name': 'Zara', 'Age': 7}dict2 = {'Sex': 'fem...原创 2018-09-07 10:55:20 · 2820 阅读 · 0 评论