一.Linux系统下的软件安装:
redhat package manager
yellowdog updater modified
- 包管理工具 - yum / rpm / apt
- yum search nginx - 从默认的仓库搜索有没有指定的软件
- yum install -y nginx - 安装软件
- yum remove -y nginx - 卸载软件
- yum info nginx - 查看软件相关信息
- yum list installed - 查看已经安装的软件
- yum update nginx - 更新软件
- 源代码构建安装 - gcc / make
Apache - Web服务器
Nginx - Web服务器(HTTP服务器)/ 反向代理服务器
源代码构建安装Python3.7
- 下载
wget
https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz - 解压缩和解归档
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar - 补充依赖库
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel - 进入Python源代码目录安装前准备工作
cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations - 构建和安装
make && make install - 注册PATH环境变量
cd ~
vim .bash_profile
PATH=...:/usr/local/python37/bin
- 激活环境变量
source .bash_profile - 测试安装是否成功
python3 --version
二.给文件添加执行权限
chmod u+x,g+x,o+x 文件名
u - user - 当前用户
g - group - 同组用户
o - other - 其他用户
在长格式查看时可以看到文件的权限字符
ls -l 文件名
r - read - 读权限
w - write - 写权限
x - execute - 执行权限
三.Vim的使用
详见菜鸟教程(http://www.runoob.com/linux/linux-vim.html
)
- 启动vim
- vim 文件名(如果文件名存在就打开,如果不存在就新建文件夹)
touch + 文件名 :新建文件
- vim 文件名(如果文件名存在就打开,如果不存在就新建文件夹)
- vim的三种模式:
- 命令模式 - 按键代表命令 ---i或者a---> 编辑模式
---:或者/---> 末行模式
~ G - 光标移到文件末尾 / 500G - 光标移到第500行 / gg - 光标移到行首 / hjkl - 左下右上(前面可以加数字)
~ Ctrl+y / Ctrl+e - 移动一行
~ Ctrl+f / Ctrl+b - 翻一页
~ 0 - 光标到行首 / - 从光标所在的位置删除到行尾
~ yy - 复制光标所在行 / 10yy - 从光标所在行开始复制10行
~ p - 粘贴 / 5p - 粘贴5遍
~ u - 撤销 / ctrl+r - 恢复 - 编辑模式 - 键入内容 ---Esc---> 命令模式
- 末行模式 - 搜索/配置/执行系统命令 ---Enter---> 命令模式
~ set nu - 显示行号 - set nonu
~ syntax on - 显示高亮语法 - syntax off
~ set ts=4 - 修改制表键的空格数
~ set ruler - 显示光标所在的位置 - set noruler
- 命令模式 - 按键代表命令 ---i或者a---> 编辑模式
面向对象编程:
- 定义类(数据抽象(找名词) - 属性、行为抽象(找动词) - 方法)
- 创建对象(构造器语法)
- 给对象发消息(调用对象的方法)
例子1.快乐数的判断
chmod u+x,g+x,o+x ,example02.py
#!/usr/local/python37/bin/python3
"""执行路径"""
def is_happy(num):
"""判断一个正整数是不是完美数 """
temp = set()
while num != 1:
total = 0
while num > 0:
last = num % 10
total += last **2
num //= 10
if total in temp:
return False
temp.add(total)
num = total
def main():
"""主程序(函数入口)"""
for num in range(1, 101):
print(f'{num}:{is_happy(num)}')
if __name__ == '__main__':
main()
2.工资结算系统 - 给公司的员工结算月薪
~ 部门经理:12000/月
~ 程序员:200/小时
~ 销售员:1800/底薪 + 销售额5%的提成
计算出每个人的月薪
卡片(Card) - 扑克(Poker) - 玩家(Player)
~ 继承(is-a)
~ 关联(has-a)- 聚合/合成
~ 依赖(use-a)