Python虚拟环境
Virtualenv&Virtualenvwrapper
virtualenv是一个python虚拟环境,能够和系统环境相隔离,保持环境的纯净。
virtualenvwrapper可以方便的管理虚拟环境。
安装
1 | pip install virtualenv |
配置
1 | # vim ~/.bash_profile |
使用virtualenv
1 | virtualenv virenv1 |
使用virtualenvwrapper
1 | mkvirtualenv env1 # 默认创建 |
Supervisor基础使用
Supervisor
专业名称解释
1 | supervisor:要安装的软件的名称。 |
环境
- centos7
安装
1 | yum install epel-release |
1 | # 可以看到配置文件位置 |
配置为supervisor服务
1 | vim /usr/lib/systemd/system/supervisord.service |
1 | [Unit] |
1 | 启动服务 |
1 | # 可以使用如下命令管理supervisor服务了 |
supervisor简单使用
开放到外网
1 | port=*:9001 ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性 |
子进程配置
- 讲解
1 | #项目名 |
- 例子
1 | [program:test] |
排序算法
排序算法
术语
1 | 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; |
算法总结

1 | 图片名词解释 |
算法分类

算法详解
1. 冒泡 Bubble Sort
1 | 相邻两两比较、交换 |
1 | 最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2) |
2. 选择排序 Selection Sort
1 | 在未排list中找到最小,放到排序后的list末尾 |
1 | 最佳情况:T(n) = O(n2) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2) |
3. 插入排序 Insertion Sort
1 | 将未排序的list,一个一个插入到已排序的list中 |
1 | 最佳情况:T(n) = O(n) 最坏情况:T(n) = O(n2) 平均情况:T(n) = O(n2) |
4. 希尔排序 Shell Sort
1 | 插入排序的变种:定义增量,以增量为间隔,进行插入排序,逐渐减小增量 |
1 | 最佳情况:T(n) = O(nlog2 n) 最坏情况:T(n) = O(nlog2 n) 平均情况:T(n) =O(nlog n) |
5. 归并排序 Merge Sort
1 | 将list不断分为两个子序列,直到只有1个或者2个元素(递归) |
1 | 最佳情况:T(n) = O(n) 最差情况:T(n) = O(nlogn) 平均情况:T(n) = O(nlogn) |
1 | def merge_sort(arr): |
6. 快速排序 Quick Sort
1 | 一个基准,左边list小于或等于基准,右边list大于list |
1 | 最佳情况:T(n) = O(nlogn) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(nlogn) |
1 | def qucik_sort(alist): |
1 | 一行快排 |
7. 堆排序 Heap Sort
1 | https://blog.csdn.net/weixin_40596016/article/details/79711682 |
8. 计数排序 Counting Sort
1 | 它只能对整数进行排序 |
1 | 最佳情况:T(n) = O(n+k) 最差情况:T(n) = O(n+k) 平均情况:T(n) = O(n+k) |
9. 桶排序 Bucket Sort
1 | 桶排序是计数排序的升级版 |
1 | 最佳情况:T(n) = O(n+k) 最差情况:T(n) = O(n+k) 平均情况:T(n) = O(n2) |
10. 基数排序 Radix Sort
1 | 最佳情况:T(n) = O(n * k) 最差情况:T(n) = O(n * k) 平均情况:T(n) = O(n * k) |
Shell脚本基础
Shell脚本格式
1 | #!/bin/bash 开头指定解释器 |
语法
1 | # 输出 |
变量
1 | # 系统变量 |
1 | 创建全局变量的方法是先创建一个局部变量,然后导出到全局环境中 |
将命令结果赋值给变量
1 | A=$(ls -a) 等价于 A=`ls -a` # 反引号 |
注释
1 | # 单行注释 |
位置参数变量
1 | 语法有$n和$*和$@和$#和${10} |
运算符
1 | ((运算式))和$[运算式] # 推荐使用$[运算式] # 没有expr |
条件判断
1 | # 基本语法和格式 |
1 | # if 格式 |
1 | # case语句 |
1 | # for 语句 |
1 | # while 语句 |
控制台输入
1 | read -p "请输入一个数num1=" -t 10 NUM1 # -p 为提示符 -t 是等待时间 |
函数
1 | # 系统函数 |
1 | # 自定义函数 |
附加
1 | vim命令 |