django:https://www.cnblogs.com/LiCheng-/p/6920900.html#
https://www.cnblogs.com/songboriceboy/category/1867414.html
mysql语句
流程控制函数
①if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2
②case情况1:
case 变量或者表达式或者字段
when 常量1 then 值1,
when 常量2 then 值2,
...
else 值n
end
case情况2
case
when 条件1 then 值1,
when 条件 2 then 值2,
...
else 值n
end
sq99 语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【having 筛选条件】
【order by 排序列表】
分类:
内连接:inner
外连接:
左外:left 【outer】
右外:right【outer】
全外:full【outer】
交叉连接:cross
1.文件操作时,xreadlines 和readlines的区别
Readlines()是吧文件的全部内容读到内存,并且解析成一个list,当文件的体积很大时,需要占用很大内存
Xreadlines()则是返回一个iter(file)的迭代器,python2.3之后不推荐这种方法,直接用for循环迭代文件对象
2.现有字典dict = {“a":"12","d":"23","l":"95","x":"2"} 请按照字典中的value值进行排序
sorted(dict.items(),key = lambda x:x[1])
3.请按照list1中的元素的age有大到小排序
list1=[{'name':'zhangsan','age':20},{'name':'lisi','age':23},{'name':'wangwu','age':10}]
sorted(list1,key=lambda x:x['age'],reverse=True) #默认从小到大排序
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
4.list = [1,2,3]
print(list[10:]) --> ''
5.什么是反射,以及应用场景
在绝大多数语言当中都有反射机制的存在,可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),python中的一切皆对象
1)反射机制是很多框架的基石
6.深浅拷贝
深拷贝:deepcopy(),指拷贝数据集合的所有层
浅拷贝:copy(),浅拷贝指拷贝数据集合的第一层数据
7.python垃圾回收机制
垃圾回收机制是自动帮助我们管理内存,清理垃圾的一种工具
1)引用记数
当一个对象的引用被创建或者复制时,对象的引用记数加1;当一个对象的引用记数被销毁时,对象的引用记数减1;当对象的引用记数减少为0的时候,意味着对象已经没有被任何人使用,可以将其占用的内存释放了
优点:简单直观,实用性,只要没有了引用就释放资源
缺点:维护引用记数需要消耗一定的资源,循环应用时,无法回收,也正是因为这个原因,才需要通过标记-清理和分代手机机制来辅助引用记数机制
2)标记-清除
‘标记-清除’不该动真实的引用记数,而是将集合中对象的引用记数复制一份副本,改动该对象引用的副本。对于副本做任何的改动,都不会影响到对象生命周期的维护
3)分代回收
将系统中的所有内存块根据其存活的时间划分为不同的集合,每个集合就是一个代,垃圾手机的频率随着代的存活时间的增大而减小。
也就是说,活得越长的对象,就越不可能是垃圾,就应该减少对他的垃圾收集频率。
那么如何来衡量这个存活时间:通常是利用几次垃圾收集动作来衡量,如果一个对象经过的垃圾收集次数越多,那么该对象存活时间越长
8。python递归的最大层数:998
9.闭包
闭包函数指定义在一个函数内部的函数,被外层函数包裹着,其特点是可以访问到外层函数中的名字,如下inner函数
def outer():
num =1
def inner():
print(num) # 内层函数中不存在num,但是可以访问到外层的num
return inner
func = outer()
num =1000
func() #输出结果为1
谈谈对闭包的理解:闭包是函数式编程的重要的语法结构。闭包是一种组织代码的结构,他同样提高了代码的复用性。当一个内嵌函数引用其外部作用域的变量,我们就会得到一个闭包。
总结一下,创建一个闭包条件:
必须有一个内嵌函数
内嵌函数必须引用外部函数中的变量
外部函数的返回值必须是内嵌函数
10.osi七层协议、三次握手、四次挥手、tcp,udp、进程,线程,协程、GIL、cookie,session
def bubble_sort2(ary):
n = len(ary)
for i in range(n):
flag = True # 标记
for j in range(1, n - i):
if ary[j] < ary[j-1]:
ary[j], ary[j-1] = ary[j-1], ary[j]
flag = False
# 某一趟遍历如果没有数据交换,则说明已经排好序了,因此不用再进行迭代了
if flag:
break
return ary
"""
主进程等待所有子进程执行结束后再结束
我们希望(qq程序退出后,所有的对话框都会退出)主进程退出后,
子进程也跟着退出,需要设置守护进程
"""
import multiprocessing
from time import sleep
def work(num):
for i in range(num):
print("i'm working...")
sleep(0.2)
if __name__ == '__main__':
work_process = multiprocessing.Process(target=work,args=(10,))
# 设置守护主进程,主进程退出后子进程直接销毁,不再执行子进程中的代码
work_process.daemon = True
work_process.start()
sleep(1)
print('主进程结束啦')