def get_response(url):r = requests.get("www.baidu.com")return r.content
引用计数、标记回收、隔代回收
引用计数:当一个对象被引用,则会+1,反之-1,如果为0则消除没对象,但是会导致一个循环引用的问题,所以引出标记回收。
标记回收:成本较高
隔代回收:分三代回收
1.HTTP是无状态请求,cookie和session都是为了记录客户端状态,cookie是保存在客服端的,大小限制为4K。session保存存在服务器,相对cookie更安全,存储信息更多,缺点就是服务器压力大
2.GET请求获取数据,POST提交数据,DELETE删除数据,PUT更新单挑数据,PATCH更新部分数据
方法:进程、协程、线程,io多路复用(select、poll、epoll)
场景:爬虫(进程+协程)、nginx(IO多路复用)
装饰器:在不改变原来函数代码基础上,增加额外的功能
@classmethod:类方法
@staticmethod:静态方法
@property:属性,把类的方法,装饰城属性一样调用
在python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另外一个变量的时候,python并没有拷贝这个对象,只是拷贝这个对象的引用而已。
浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已,也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制
深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是说,把对象复制一遍,并且该对象中引用的其他对象我也复制
编码:encode
解码:encode
编码:在python3中将str转化成bytes类型,python2将unicode转化为str
解码:在python3中将bytes按照utf-8或者gdk编码方式转为成str类型,python2是将str转化为unicode
xrange用户与range完全相同,所不同的就是生成的不是一个数组,而是一个生成器
要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,在python3中,range()是像xrange()那样实现,xrange()被抛弃
def foo():print("Function foo")
double a,b
a = 0.1 * 3
b = 0.1 + 0.1 + 0.1,
a == b
一张雇员表employee,例如:
| id | name | salary | department id |
|---|---|---|---|
| 1 | Joe | 7000 | 1 |
| 2 | Henry | 8000 | 2 |
| 3 | Sam | 6000 | 2 |
| 4 | Max | 9000 | 1 |
| 5 | Janet | 9000 | 1 |
| 6 | Randv | 8500 | 1 |
一张部门表department,例如:
| id | name |
|---|---|
| 1 | IT |
| 2 | Sales |
1)请写出sql,找出IT部门薪水最高的3个人
select name from employee order by salary desc where department_id=(select id from department where name='IT') limit 3 ;
2)请写出sql,找出每个部门薪水最高的人(可能有多人并列最高)
数组A:[1,5,8,14,16,25,28,39]
数组B:[2,3,6,8,12,13,16,21,25,28]
请你写一段代码,找出里面重复的元素
a=[21,22,55]
b=[21,55,77]
这一段json中第一个人的名字:
{"person":[{"name":"yu","age":"23"},{"name":"zhang","age":"34"}]}
元祖、列表、字典、集合,分别写出定义、新增、更改、删除
a = [1,2,3,4,5]
a[::2] = ?
a[-2] = ?
git clone :克隆远程版本库
git init :初始化本地版本库
git status :查看状态
git diff :查看变更内容
git add . :跟踪所有改动过的文件
git add :跟踪指定的文件
git commit -m "commit message" :提交所有更新过的文件
git log :查看提交历史
git reset --hard HEAD : 撤销工作目录中所有未提交文件的修改内容
git branch :显示所有本地分支
git checkout :切换到指定分支或标签
git branch :切换到指定分支或标签
git push :上传代码并快速合并
git push : :删除远程分支或标签
is比较的是两个实体对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同
== 比较的是两个对象的内容是否相等,即内存地址可以不一样,内容一样就可以了
单引号和双引号:主要用来表示字符串
三单引号’‘‘Python’’':也可以标识字符串一般用来输入多行文本,或者用户大段的注释
三双引号"““Python””":一般用在类里面,用来注释类
list_element = ['a','c','z','x','a']
delete_element = list(set(list_element)) #利用集合的唯一性删除重复元素
delete_element.sort(key=list_element.index) #对修改后的列表进行排序
上一篇:如何打造新时代的终端播放产品?
下一篇:python线程安全队列讲解