2021-06-30

25道题目

同源策略

同源策略需要同时满足以下三点要求:
1)协议相同
2)域名相同
3)端口相同

cookie 和 session 的区别

1.session 在服务器端,cookie 在客户端(浏览器)
2.session 的运行依赖 session id,而 session id 是存在 cookie 中
3.cookie 安全性比 session 差

多线程、多进程

多个进程之间相互独立,稳定性好,但是进程消耗资源大。操作系统进行资源分配和调度的基本单位。
一个进程下的多个线程可以共享该进程的所有资源, IO 操作密集,则可以多线程运行效率高,CPU 进行资源分配和调度的基本单位

any()和 all()方法

any():只要迭代器中有一个元素为真就为真
all():迭代器中所有的判断项返回都是真,结果才为真

IOError、AttributeError、ImportError、IndentationError、 IndexError、KeyError、SyntaxError、NameError 分别代表

IOError:输入输出异常
AttributeError:试图访问一个对象没有的属性
ImportError:无法引入模块或包,基本是路径问题
IndentationError:语法错误,代码没有正确的对齐
IndexError:下标索引超出序列边界
KeyError:试图访问你字典里不存在的键
SyntaxError:Python 代码逻辑语法出错,不能执行
NameError:使用一个还未赋予对象的变量

copy 和 deepcopy 区别

复制不可变数据类型,只能浅复制
复制的值是可变对象,内含复杂对象,浅复制存在值会改变的情况
深复制完全复制独立

魔法方法

init:对象初始化方法
new:创建对象时候执行的方法,单列模式会用到
str:当使用 print 输出对象的时候,只要自己定义了__str__(self)方法,
那么就会打印从在这个方法中 return 的数据
del:删除对象执行的方法

sort 和 sorted 对列表排序

sort()与 sorted()的不同在于,sort 是在原位重新排列列表,而 sorted()是
产生一个新的列表。

list 排序使用 lambda 函数从小到大排序

sorted(list,key=lambda x:x)

列表嵌套排序

嵌套字典

sorted(list,key=lambda x:(x<0,abs(x)))

嵌套元组

sorted(list, key=lambda x: x[1], reverse = True )
sorted(list, key=lambda x: x[0])

嵌套列表

sorted(list, key=lambda x: (x[1],x[0] ) )

字典排序

{i[0]:i[1] for i in sorted([i for i in zip(dic.keys(), dic.values()) ] ,key= lambda x:x[0])}

列表推导式、字典推导式、生成器

list=[i for i in range(10)]
list,type(td_list))#列表推导式
(i for i in range(10))#生成器
{k:random.randint(4,9) for k in [“a”,“b”,“c”,“d”] }#字典推导式

根据字符串长度排序

sorted(a,key=lambda x:len(x))

SQL 注入和解决办法

SQL 注入会删除数据库 demo,通过传参数方式解决 SQL 注入

正则匹配以 163.com 结尾的邮箱

[\w]{4,20}@163.com$

递归求和

def get_sum(num):
if num>=1:
res=num+get_sum(num-1)
else:
res=0
return res
res=get_sum(10)
print(res)

字典和 json 字符串相互转化方法

json.dumps()字典转 json 字符串,json.loads()json 转字典

上一篇:redis(八:redis特性和扩展数据类型)


下一篇:python-排序