1.request处理http请求:res.text 结果为字符串 res.json() 结果为字典格式
2、read、readline、 readlines区别:read 读取整个文件,readline 读取下一行,readlines 读取整个文件到一个迭代器以供遍历(读取到一个list中,以供使用,比较方便)
3、深拷贝和浅拷贝的区别:深拷贝会拷贝父子对象。浅拷贝只拷贝父,子指向同一个地址,修改原来的子,拷贝后的也同步修改;
4.get与post区别:get参数在url中明文,不安全,传递数据大小有限制不超过2kb,快;post参数在Requestbody,安全可靠,长度比较长/慢,传递数据大小无限制;Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO1...Get执行效率却比Post方法好。Get是form提交的默认方法。
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
GET:从指定的资源请求数据。POST:向指定的资源提交要被处理的数据。
get传递的参数类型是文本,post参数是二进制
GET请求被回退时是无害的,POST请求被回退是会被重新再执行一次
GET和POST的使用场景:
(1)在传递一些机密信息时必须要使用POST
(2)只是查询获取数据时可以用GET
(3)POST请求速率会比GET慢,因为GET请求产生一个TCP数据包;POST请求产生两个
5.正则表达式:re.match('www','www.baidu.com') 从起始位置进行匹配,匹配不到返回None re.search 从任意位置开始匹配,返回第一个匹配到的位置符号
import re
print(re.match('www','www.runoob.com').span())# 在起始位置匹配(0, 3)
print(re.match('com','www.runoob.com'))#None
print(re.search('bai','www.bai.com.bai').span())# 在任意位置匹配,返回第一个匹配到的值 (4, 7)
6.http与https区别:
https需要数字证书才能访问,安全性较高,性能比http差,具有安全性的ssl加密协议
http超文本传输,明文,不安全
http端口号是80,https的端口号是443
7.隐性等待和显性等待的区别:
8.xrange与range的区别:range生成的是个list,xrange生成的是生成器,比较节约内存,性能好;Python3中已经取消了xrange方法, 直接使用range即可
8.列表和字典有什么区别?
答:一般都是问列表和元组有什么不同。 (1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。 (2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。 (3)占用的内存不同。
9.json和字典dict的区别?
json是一种轻量级的数据交换格式,dict是python中的数据类型
在json中空值是用Null表示,在dict中空值是用None表示)
主要区别:json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);
json的key可以是有序、重复的;dict的key不可以重复。
json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。
json任意key存在默认值undefined,dict默认没有默认值;
json访问方式可以是[],也可以是.,遍历方式分in、of;dict的value仅可以下标访问。
json的字符串强制双引号,dict字符串可以单引号、双引号;
dict可以嵌套tuple,json里只有数组。
json:true、false、null
python:True、False、None
json中文必须是unicode编码,如"\u6211".
json的类型是字符串,字典的类型是字典。
10.进程、线程有什么区别?什么情况下用进程?什么情况下用线程?
答:(1)区别:
① 地址空间和其它资源(如打开文件):进程之间相互独立,同一进程的各线程之间共享。某进程内的线程在其它进程不可见。② 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。③ 调度和切换:线程上下文切换比进程上下文切换要快得多。④ 在多线程操作系统中,进程不是一个可执行的实体。(2)使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,我用线程,因为全局变量是所有线程共享的。
网友评论