python基础
基础数据类型
python中的数据类型:数字(number),字符串(string),元组(tuple),集合(set),列表(list),字典(dict)
可变类数据类型:集合(set),列表(list),字典(dict)*
不可变数据类型:数字(Number),字符串(string),元组(tuple)
讲解:可变的数据类型是在原内存地址进行的变化,不可变是创建新的内存地址
参考大佬文档:https://blog.youkuaiyun.com/kingoflongevity/article/details/107347852
数字(number):
常用的内置函数(只写常用的几个,太多了记不住,随用随查)
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
round() 方法返回浮点数 x 的四舍五入值 round(x,y)) x:值 y:小数位数
例子:
>>> import math
>>> math.ceil(4.1) # 向上取整
5
>>> math.floor(4.1) # 向下取整
4
>>> round(1.1111,2) # 四舍五入
1.11
max() 返回最大值
min() 返回最小值
字符串(string)
# 索引值以 0 为开始值,-1 为从末尾的开始位置。
str.count("检索的内容") # 返回字符串里某个字符出现的次数
str.join(sequence) # 字符串拼接 str+str的场景推荐使用join
# str 转 list
# 方法1
str.split("分隔符,也可为空")
# 方法2
list(str)
元组(tuple)
# 元组与列表类似,不同之处在于 元组的元素不能修改。
# 元组使用小括号 ( ),列表使用方括号 [ ]
# 谨记:元组只能拼接成新的元组不能在原来的元组上进行修改
tup3 = tup1 + tup2
# 取值和list一样,通过下标取值
list(tuple) # 把元祖转成list
列表(list)
列表索引从 0 开始,第二个索引是 1
len(list) # 返回list的个数
list.append(obj) # 在列表末尾添加新的元素
sort() # 对列表进行排序
list.index(x[, start[, end]]) # 从列表中找出某个值第一个匹配项的索引位置
list.pop(下标) # 通过下标进行删除元素,返回删除的内容
# list 转 str ''.join(list)
>>> a = ['1','2','3']
>>> ''.join(a)
'123'
集合(set)
集合(set)是一个无序的不重复元素序列
# 创建格式:
parame = {value01,value02,...}
# 或
set(value)
set.add() #为集合添加元素
# 例子:
s1 = {'1','2','3'}
s1.add('4')
{'2', '3', '4', '1'}
set.pop() # 删除元素,同list使用方式一致
字典(dict)
2、进阶
3、进程
4、线程
5、协程
6、三方库的使用
Django
常用命令
创建项目 django-admin startproject mysite
创建app python manage.py startapp app01
启动项目 python manage.py runserver
修改端口号 python manage.py runserver 127.0.0.1:新端口号
生成迁移文件 python manage.py makemigrations
同步数据库 python manage.py migrate
收集静态文件 python manage.py collectstatic
MVC和MTV区别
MTV设计模式
本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同
**Model(模型):**负责业务对象与数据库的对象(ORM)
**Template(模版):**负责如何把页面展示给用户
**View(视图):**负责业务逻辑,并在适当的时候调用Model和Template
注意:Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
中间件
process_request : 请求进来时,权限认证
process_view : 路由匹配之后,能够得到视图函数
process_exception : 异常时执行
process_template_responseprocess : 模板渲染时执行
process_response : 请求有响应时执行
JS
Vue
算法
算法:1到100无序无重复的数组,其中随机替换一个数为-1,这个是前提。然后请输出被-1替换的那个值和它的下标。
算法 二叉树 和图解题
项目架构
消息队列
自动化搭建流程
项目中流程哪里可以优化
25匹马,5个跑道,没有计时器,找出三个最快的,最少需要几次
springboot的标签
一个数组,实现奇数放前面偶数放后面,代码实现
面试题
1、redis和mysql优缺点
参考大佬:https://blog.youkuaiyun.com/qq_41606973/article/details/86503815
Redis 和 Mysql 的区别:
Mysql 是关系型数据库, 持久化存储, 存放在磁盘里, 功能强大. 检索的话, 会涉及到一定 IO , 数据访问也就慢;
Redis 是内存数据库,也是非关系型数据库 数据保存在内存中, 速度快;
2、Nginx的作用
——反向代理
——负载均衡
——HTTP服务器(动静分离)
——正向代理