python的就业方向
web后端开发:
需求量比较大
爬虫:
数据分析
懂各种算法 硕士以上 工资很高
自动化运维
测试:
找bug(虫子) 程序里面的错误(语法错误,逻辑错误) selenium
GUI
界面编程
游戏开发
pygame
计算机的基础知识
计算机结构:
冯·诺依曼
输入设备、输出设备、存储器、运算器、控制器
ACM比赛 大学生编程大赛
硬件
输入设备:
键盘、鼠标、语音
输出设备:
显示器 音响 打印机
CPU:中央处理器 相当于人的大脑 包括运算器和控制器
内存:程序直接使用的数据 在内存
32位 最多识别4G
64位 windows 实践最大128G
硬盘:固态 快
机械
显卡:显示器
软件
什么是软件:按照特定顺序组织的数据和指令的集合 以及文档
能看的见 但是摸不着 我们只能通过运行状态 看他的质量 功能和稳定性
文档:
需求文档 接口文档 测试文档 说明文档
软件的制作过程也叫软件开发
猿:程序猿
媛:程序媛
软件的分类:
系统软件:
windows Linux Mac os iOS 安卓 win phone 赛班 UNIX
应用软件:
qq 微信 陌陌 抖音 淘宝 唯品会 聚美 京东
编程语言:
R VB C C++ JAVA PHP Javascript(js) node.js ABC go perl 易语言 C#
python(人生苦短 我用python)
进制
计算是用来计算和存储数据的 数据存储的方式:二进制
进制:人去规定如何表示数据的
分类:
二进制
十进制
八进制
十六进制
二进制:
逢二进一
数字集合:0 1
0b102032
十进制:
逢十进一
数字集合:0 1 2 3 4 5 6 7 8 9
八进制:
逢八进一
数字集合: 0 1 2 3 4 5 6 7
表示:0o2736
十六进制:
逢16进1
数字集合:0 1 2 3 4 5 6 7 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
0xa5ef
进制的转换
十进制转二进制:
用基数2除我们的十进制数 逆序数据余数
9 / 2
4 /2 1
2/2 0
1/2 0
0 1
结果:0b1001
10 /2
5/2 0
2/2 1
1/2 0
0 1
结果:0b1010
小数转换:
小数部分乘2 整数位保留 再用小数部分*2 将整数部分正序的输出
10.625 * 2
1.25 1
0.25 * 2
0
0.5 * 2 1
0
结果:0b1010.101
十进制 转 八进制
计算方式和二进制 转换相同 基数变成进制数 8
67 / 8
8 / 8 3
1 / 8 0
0 1
结果:0o103
十进制 转 十六进制
165/16
10/16 5
0 a
结果:0xa5
二进制转十进制
规则:从右向左 权重数*基数(n-1)次幂 将各个位结果相加
备注:任何数的0次幂都等于1
约定:两个*表示次幂
例子:0b1010
0*2**0 + 1*2**1 + 0*2**2 + 1*2**3
0 + 2 + 0 + 8 = 10
八进制转十进制
规则:和和二进转十进制规则类似 只是基数变成8
例子:0o103
3*8**0 + 0*8**1 + 1*8**2
3 + 0 + 64 = 67
十六进制转十进制
规则:和和二进转十进制规则类似 只是基数变成16
例子:0xa5
5 * 16 ** 0 + 10 * 16**1
5 + 160 = 165
十进制
12345$
5 * 10**0 + 4*10**1 + 3 * 10 ** 2 + 2 * 10**3 + 1 * 10**4
5 + 40 +300 + 2000 + 10000 = 12345
八进制转二进制
数字集合 0---7
111
1 + 2 + 4 = 7
1 2**0 1 1 1
2 2**1 1 1 1
4 2**2 1 0 1
8 2**3 1 1
16 2**4
32 2**5
64 2**6
128 2**7
256 2**8
因此:我们用三位表示八进制的一位
规则:从左向右逐位转换
例子:0o103
001 000 011
十六进制转2进制
二进制的四位可以表示一位的16进制数
例子:0xa5
a-->10(十进制)-->0b1010
5-->5(十进制)--> 0b0101
0b1010 0101
1 *2**0 + 0 + 1*2**2 + 0 + 0 +1*2**5 + 0 + 1*2**7
1 + 0 + 4 +0 + 0 + 32 + 128 = 165
练习:
将下列十进制转对应的二进制 八进制和十六进制
20
二进制:0b10100
八进制:0o24
十六进制:0x14
67
二进制:1000011
八进制:0o103
十六进制:0x43
88
二进制:1011000
八进制:0o130
十六进制:0x58
数据存储单位
0 1
数据:a b c 1 5
八位表示字节 bit
1字节 = 8bit
1024字节=1KB
1024kb = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024是整数 10.24程序猿节日
生产厂商 整数是1000
练习:
将下列进制转对应的10进制数
0b101010
2 + 8 + 32 = 42
0b111110
2 + 4 + 8 + 16 + 32 = 62
0o125
5 + 16 + 64 = 85
0o577
7 + 56 + 320 = 383
0x45
5 + 64 = 69
0x17
7 + 16 = 23
78
78
编码规则
计算机存数据使用的是bit 二进制
如果想表示a 001 --->1
b 010 -->2
c 011 -->3
此时 我想存abc
001 010 011
数据——>二进制--->转十进制
ascii码
0 48
A 65
a 97
通过小写字母找对应的大写字母 小写对应的数字-32得到大写的编码值
gbk 中文
gb2312 中文
unicode(uft-8) 支持绝大多数的自然语言(人类的语言)自然语言处理 南京市长江大桥
使用8个bit表示一个字节(Byte)
表示的范围0--255 也就是256个数字
数据是又正负之分 -128之0之127
原码 反码 补码
是二进制的不同表现形式,在最高位 0 表示整数 1 表示负数
例子:6 与-6
原码:
正数:就是我们普通的二进制表示
6: 0000 0110
负数:最高位用1去填充 其他位正常表示
-6: 1000 0110
反码:
正数:和原码相同
0000 0110
负数:最高位不变 其他位取反(0变1 1变0)
1111 1001
补码:
正数:和原码相同
负数:将原码转成反码,在反码的基础上加1
-6:
原码:1000 0110
反码:1111 1001
补码:1111 1010
我们看一个数据的时候看的是他的原码
将 下列数字转换成对应的原码 反码 补码(8位表示)
11 -11 -8 7 -21
11:原 反 补0000 1011
-11:原码:
1000 1011
反码:1111 0100
补码:1111 0101
-8:
原码:1000 1000
反码:1111 0111
补码:1111 1000
7:
原码:0000 0111
反码 补码与原码一致
-21:
原码:
1001 0101
反码:
1110 1010
补码:
1110 1011
练习2 将下列补码转换成对应的原码
2.1 1110 1011
1 转成反码:1110 1010
2 最高位不变 其他位取反 得到是原码:1001 0101
3 转成10进制 -(1+4+16)=-21
2.2 1111 0101
1 转成反码:1111 0100
2 根据反码得到原码:1000 1011
3 十进制数:-(1+2+8) = -11
2.3 1111 1010
计算机在做计算数据的时候 用的是补码(规定)
10-10=0
10 + (-10)
10:0000 1010
-10:原码:1000 1010
反码:1111 0101
补码:1111 0110
使用原码:
0000 1010
1000 1010
1001 0100 = -20
使用反码
0000 1010
1111 0101
1111 1111 ---》1000 0000 =-0
使用补码
0000 1010
1111 0110
1 0000 0000 = 0
练习:
-6 + 5
-6:1000 0110 -》反码1111 1001 ->补码1111 1010
5:0000 0101
计算:
1111 1010
0000 0101
1111 1111 补码
1111 1110 反码
1000 0001 原码 十进制-1
127+1
0111 1111
0000 0001
1000 0000
反码:1111 1111
原码:1000 0000 = -0==-128
128====-128
-129===127
-130====126
-155+256=101
128-256=-128
练习:
8位表示法
67-55
67:0100 0011
-55:1011 0111--》1100 1000--》1100 1001
34-12
34: 0001 0010
-12:1000 1100 -》1111 0011 -》1111 0110
cmd的指令
计算机除了有图形界面 还有我们的指令(Linux指令)
要进入命令行终端
.exe结尾是windows里面的可执行文件
win+r在输入框输入cmd 点击回车按钮 -》进入到了命令行终端
概念:
盘符:c: d:等等
一个点:表示当前路径
两个点:表示上一级目录
以.开头的 是隐藏文件
路径:windows里我们最好使用\
命令:(命令是用空格隔开)
1 dir 显示当前目录下的文件和目录
2 dir 目录名
显示该目录名下的文件和文件夹
3 切换盘符:
盘符名字+冒号 点击回车键
4 cd 改变当前所处路径(change direction)
cd 目录
cd .. 返回上一级目录
cd ../.. 返回上一级目录的上一级目录
5 创建目录
md 加目录名字
6 删除
rd 目录名 删除目录
7 copy 源文件 目标文件
8 移动
move 原文件 目标文件
输过源文件和目标文件处于同一路径 实际上在改名
9 cls 清屏
10 关掉终端 exit 回车
11 more + 文件名
可以查看文件的内容
12 echo 文字 > 文件名字
会把之前所有的内容覆盖掉 写入你命令指定字符
13 echo 文字 >> 文件名
在文件末尾追加内容
14 删除一个文件
del 文件名
路径
绝对路径:从盘符开始 指定的文件或目录的路径
比如:D:\jj\utils\util.js
相对路径:
相对于当前路径 向下指定一个文件或者目录的路径
假设:当前所在路径是d盘下的jj目录 那么我们想表示util.js文件的路径 就可以是用.\utils\util.js
python(蟒蛇)
解释性 动态 面向对象 的脚本语言(非常适合初学者)
作者:龟哥 guido 1989年 荷兰人 1991年正式发布
ABC语言 教学 没有做商业 后来就废了 2.XXX 到了08年开始出3.XXX 不向后兼容 python2.7
学的也是3.6.XX 最高到了3.7 到2020年 2.XXX不再维护
最新技术尽量不要用:不稳定的问题 容易产生意想不到的bug
优点:
解释性 不需要再编译
交互式 >>写代码
易学 简单一点
可移植性:在各个操作系统都能稳定运行
可拓展性:调用C和C++的代码 胶水语言
丰富的库:他能做的事情多 爬虫 web开发 游戏开发 数据分析。。。。。
代码量较少: 开发效率高
开源: 很多人为他做贡献
缺点:
运行效率
国内市场 开发人员相对其他语言少很多 需求又多了
汉语资料相对少一点 (VUE)
不能加密 要交源代码
安装:
双击python 3.6.3的安装文件
记住python的安装位置
点击:Install Now
安装完成:我们进入到安装路径下 找到python.exe文件
执行:.\python.exe 看到>>>
目标
为了在cmd终端的任何路径输入python命令都可以 进到python的交互模式 我们需要 将python的安装路径加入到环境变量
在桌面点击”计算机“ 右键-》属性-》高级系统设置-》高级-》环境变量
-》在系统变量里 找Path->选中 然后点击编辑按钮-》来到变量值的末尾,输入法切换到英文加分号-》
分号后面把你python的安装路径粘贴进去
环境变量:终端输入命令 会去环境变量里指定的那些目录下 去找对应的可执行文件,如果找到就执行
如果找不到 就去当前目录下去找 如果还是找不到 那就报错