《Python基础语言 一 》— Echo版

一、计算机原理

1. 计算机的组成

计算机之父:冯.诺依曼

计算机包含了5各部分:输入设备、输出设备、运算器、控制器、存储器

输入设备:

​ 键盘、鼠标

输出设备:

​ 显示器、音响

机箱:

cpu 内存:运行内存 硬盘:持久化存储数据(只要数据不删除,会一直存在) 显卡


cpu:

​ 中央处理单元 担任着计算机的运算和控制的核心 相当于人的大脑


内存:

​ 运行内存----内存条对应着内存的大小

​ 计算机运行数据产生的临时数据会存放在内存中,不会持久化存储(当程序运行结束,关机,重启)

运行中使用的一些数据,必须得在内存中存在才可以使用


硬盘

存储的是资料等大型数据 特点:持久化存储


显卡

控制画面的显示


2. 软件的开发

软件:应用程序

​ 一些特定数据和指令的集合

开发-----行为

软件分类:

​ 系统软件:特殊的软件 可以承载其他应用软件

	windows     mac     linux

​ 应用软件:

​ 游戏软件 聊天软件等等

3. 人机交互

人机交互的方式:

​ 图形化界面和指令交互两种方式

​ 图形化界面交互方式:操作简单入手容易

指令交互:

​ 需要有一个平台来承载指令的输入----控制台----命令提示符工具

​ 打开 命令提示符:

​ win+r----->输入框----输入cmd

​ 打开命令提示符:

​ 初始显示的是当前使用用户的路径

1.进入其他路径
	分为两种情况:
		a.该路径和当前路径在同一个盘符(c/d)下
			cd 进入的目录路径
				又分为两种情况
					i.进入的目录是当前目录的子目录
						cd 子目录的名称(如果目录名称太长  可以使用tab键自动补全,用tab补全目录名                         称时,要在英文状态下进行)
					ii.进入的目录与当前目录没有关系						
					    cd 盘符:\...指定目录的名称
     b.该目录和当前目录没有再同一个盘符下
			第一步:切换盘符
				盘符名: ----> 切换盘符
			第二部: cd 要打开的指定目录路径

     c.另外的打开模式:
         cd.. ----> .. 表示的是上一级目录 ---> 回到上一级
         cd/ ----> /表示的是根目录  表示的盘符

2.显示当前路径下的子目录[包含子文件]
	dir

3. 创建文件夹[目录]
	md 文件夹名称   ----> md的全称: make directory
		如果只有一个名称  会在当前指定的路径下创建一个改名字的文件夹
		还可以跟一个路径  如果路径中的目录存在直接使用 如果不存在会创建
4.删除文件夹
	rd 文件夹名称
		如果有多级, 只能删除最后一级目录
		删除的文件夹必须是空文件夹
5.创建文件
	echo 内容 > 文件路径
	echo 内容 >> 文件路径

	echo ----> 表示的是输出的意思
		---> 输出的内容默认是显示在命令提示符工具[控制台]上的
	重定向:
		> --- 如果他后面的文件存在 会清除掉文件中的内容 再将echo后面的内容写入
			--- 如果文件不存在 会先创建文件  再将内容写入
		>> ---如果他后面的文件存在 不会清除掉文件中的内容 而是将echo后面的内容拼接在原有内容的后面
			--- 如果文件不存在 会先创建文件  再将内容写入
	文件路径:
		如果只有一个文件名 --- 表示该文件在当前指定的路径下
6.查看文件中的内容的指令
	type 文件路径.文件后缀名

	[可以通过上下键 查询之前写过的指令]

7. 删除文件
	del 文件路径.后缀名 --- 删除指定文件
	del *.后缀名 ---- 删除同一个后缀名的所有文件
	del 文件路径.* ---- 删除同一个名字的所有文件
	del *.* ---- 删除所有文件

8.清空控制台
	cls

9.文件拷贝 --- 只能操作文件
	copy 源文件路径.后缀名 目的文件路径.后缀名

	拷贝的时候 拷贝的文件中的内容
10.文件剪切 ----  只能操作文件
	move 源文件路径.后缀名 目的文件路径.后缀名

11. 退出控制台
	exit

指令交互的时候必须是计算机识别的指令, 这种方式用户难以入手的原因是需要记住对应的指令操作           

4. 计算机中数据存储的格式

1.进制:
	人们规定的一种进位方式,逢n进1
常接触到的进位方式:
	十进制	 二进制  八进制	十六进制
每种进制的符号集:
	十进制的符号集:0	1	2	3	4	5	6	7	8	9
		十进制中写一个10=09+01---->10
	二进制的符号集: 0	1
		二进制中的10 ===> 01 + 01 ===> 10 ====> 十进制中的数据对应的2
		表示二进制的符号: 0b / 0B
			0b10101011
	八进制的符号集: 0	1	2	3	4	5	6	7
		八进制中的10 ===> 07 + 01 ===> 10 ====> 十进制中的数据8
		表示八进制的符号: 0o / 0O
			0o453
	十六进制的符号集:0 	1	2	3	4	5	6	7	8	9	a 	b	c	d	e	f
		十六进制中10 ===>0f + 01 ====>10 ====> 十进制中数据对应的是16
		十六进制的符号: 0x / 0X
			0xfae		
2.不同的进制中每一位上的数据的意义
	熟悉十进制数据
		12345
		 ====> 1 * 10^4	+ 2* 10^3 + 3*10^2 + 4 *10 + 5 * 10^0
	二进制上每一位数据的意义:
		0b1011
		 ====> 1 * 2^3 + 0 * 2^2 + 1*2^1 + 1 * 2^0
		 =====> 8 + 0*4 + 2 + 1
		假设每一位都是1
			前面一位和后面一位的关系是 2倍的关系

			32	16	8	4	2	1
		二进制上每一位的数据 = 2^(n-1)
		如果这一位上是1 ---> 该位对应的数据等价于 2^(n-1)
		如果这一位是0	----> 0
不同的进制中每一位上的数据的意义:
 该位上的数据 * 对应进制^(n-1) ===> n表示的是位数	
3.进制转换:
	a.十进制转化为二进制:
		有两种方式:
			i.将十进制的整数部分除以2取余数,除到商为0为止, 将余数倒叙取出
				将十进制的小数部分乘以2取整,乘到小数全部为0为止, 将整数正序取出
			ii.从二进制上每一位数据的意义上得来的=====> 8421转换码
					位数  	3	2	1	0	-1		-2		-3
					数据值	    8	4	2	1	0.5		0.25	0.125

					在二进制上每一个数据的意义上找到与其接近小于其的数据 做差
					再将差值与二进制上每一个数据的意义找到与其接近小于其的数据 做差
					一直做差到差值为0

					17 ---> 16
						17 - 16 = 1
							1----> 1
								1-1 = 0
					0.75 = 0.5 + 0.25
					10001.11


			17.75 ---> 二进制数据

			49 ----> 二进制数据
				32 + 16 + 1

              110001
练习:
	77 ====> 
		====> 64 + 8 + 4 +1 ====> 1001101
	51 ====> 110011
		====> 32 + 16 + 2 + 1
		  110011
	61.375 =====> 11101.011
		====> 32 + 16 + 8 + 4 + 1
		111101.011
------------------------------------------------------------------------------------
b.二进制/八进制/十六进制转化为十进制
	将对应进制每一位上对应的数据进行累加 结果就是十进制
	 ====> 按权展开求和

	二进制转换为十进制
		0b1011101
			----> 1 + 0 + 4 + 8 + 16 + 0 + 64 ====> 93
	八进制转化为十进制
		0o34
			---> 4 * 8^0 + 3 * 8^1 = 28
	十六进制转化为十进制
		0xaf 
			----> f * 16^0  + a * 16^1 ====> 15 + 10 * 16 = 175

练习:	
	二进制转化为十进制:
		0b110110 = 54
		0b1011101 = 93
------------------------------------------------------------------------------------- 
c.二进制转化为八进制
	转化规则:
		八进制的最大符号集是7 ----> 对应着二进制中3位数
		也就意味着二进制中3位数能够满足八进制中的所有符号集

		将二进制数从右向左三三一分  如果左边不够三位前面补0 将每一份按权展开求和 再将每一份对应的和从左向右拼在一起 结果就是八进制

		0b001	110	111	001	010	110
		  1		 6   7   1   2   6 ----> 0o167126
-------------------------------------------------------------------------------------  d.二进制转化为十六进制
	转化规则:
		十六进制的最大符号集是f(15) ----> 对应着二进制中4位数
		也就意味着二进制中4位数能够满足十六进制中的所有符号集

		将二进制数从右向左四四一分  如果左边不够四位前面补0 将每一份按权展开求和 再将每一份对应的和从左向右拼在一起 结果就是十六进制

		0b1110	1101	0101	0001	1110
		   e	 d        5        1       e ----> 0xed51e
练习:
	二进制转化为八进制
		0b	010	110	110 ----> 0o266
		0b	011	011	011 -----> 0o333
	二进制转化为十六进制
		0b	0001	0110	1101 ----> 0x16d
		0b	0001	1100	1011 -----> 0x1cb

5. 编码

计算机中是存储数据的,但是数据的格式是二进制形式的

生活中处理的数据(整型数据)或者一堆字符拼在一起的数据,这些数据看起来和二进制毫无关联

在计算机中存放一个名字:暴维

字符:一个符号就称为字符

规则:

​ 十进制与二进制可以关联

​ 将字符也对照一个对应十进制数---->这个数据对应的二进制数

字符 <---> 十进制数据 <---->二进制数据

指定字符与十进制数据之间的规则 这张表称为ascii码表

在ascii码表中 使用的是8位二进制数来进行表示对应的不同符号的

​ 8位二进制数 === 1个字节 1B

前面四位称为高四位 后面四位称为低四位

0这个符号来进行存储时 规定0这个符号对应的十进制数据是48 ----> 0011 0000

A这个符号 对应的十进制数是65 ----> 0100 0001

a这个符号 对应的十进制数据是97 ----> 0110 0001

在ASCII码的基础上进行了拓展出了Unicode/GBK编码方式

​ Unicode这种编码规范 常用的是UTF-8这种编码方式, 特点:可以采用变长的存储形式在内存中存储数据

​ UTF-8和GBK的区别:

​ 中文符号

​ UTF-8 占3个字节

​ GBK 占2个字节

​ 英文符号

​ 不管是哪种编码方式都是占用1个字节

6. 计算机中数据运算二进制的存在形态

二进制数据的形态有三种:原码 反码 补码

以整数数据数据为例 进行运算操作

数值会有正负之分 -----> 二进制数是如何来区分正负的????

		-----> 在内存中存放数据时 该数据所占用的二进制数位数确定的, 正负看该二进制数的最高位[机器位], 如果最高位为1, 表示该二进制数代表的是负数, 如果为0, 表示的是正数
数据在内存中存放, 存放单位是字节 ,一个字节是8位二进制数
计算机中内存单位的换算:
	一个0或者一个1称之为1--- 1bit ---> 1b
	计算机中存放数据最少得使用8b二进制数 ---> 1字节 ---> 1Byte ---> 1B

	1B = 8b
	1KB = 1024B  #是二进制存放形式  在十进制中1km = 1000m
	1MB = 1024KB
	1GB = 1024MB
	1TB = 1024GB
假设 数据存放的时候 都占用1个字节 --- 在程序中真实使用的话 整数是占4B

正数的原码 反码 补码的格式与原码是一致的
	原码直接将十进制数据转化为二进制数
		27 ----> 16 + 8 + 2 + 1 ---> 0001 1011
负数的原码:
	在正数原码的基础上 将最高位置为1
		-27原码 ----> 1001 1011
负数的反码:
	在负数原码的基础上 除了最高位 其余位取反[01  10]
		-27的反码 -----> 1110 0100
负数的补码:
	在负数的反码的基础上加1
		-27的补码 -----> 1110 0101 

计算机存放二进制数据时  数据的格式到底是原码 还是反码 还是补码呢???
排除法:
	假设是以原码的形式存放的
		-2 + 1 ====> -1
		-2的原码:
			1000 0010
		1的原码
			0000 0001
			---------
			1000 0011 [原码] ----> -3

	[查看二进制数对应的准确的十进制数 查看的二进制数的原码形式]

	假设是以反码的形式存放的
		-2 + 1 =====> -1
		-2的反码:
			1111 1101
		1的反码
			0000 0001
			----------
			 1111 1110[反码] ---> 1000 0001 ----> -1[对了]

		-1 + 2 ====> 1
		-1的反码:
			1111 1110
		2的反码:
			0000 0010
			----------
		   1 0000 0000
		   	1相对于原有的容器大小存放不下 --- 溢出 ---> 溢出的内容直接舍弃
		   	容器中剩下 0000 0000 ----> 0 [错了]
	假设以补码来运算
		-1 + 2 = 1
		-1的补码:
			1111 1111
		2的补码:
			0000 0010
			---------
		1    0000 0001
		0000 0001 ----> 1[对了]

		-2 + 1 ====> -1
		-2的补码
			1000 0010
			1111 1101
			1111 1110 
		1的补码
			0000 0001
			---------
			1111 1111[补码] --- 原码
				减1的反码: 1111 1110
				取反得原码: 1000 0001 ----> -1[对了]
结论:
	计算机中二进制数据的存放形态是补码形式	
练习:
	17-22
	17的补码:
		0001 0001
	-22的补码
		1110 1010
		---------
		1111 1011[补码] ----> 1111 1010[反码] ----> 1000 0101 ----> -5

	-31+40
		-31的补码
			1001 1111
			1110 0000
			1110 0001
		40的补码
			0010 1000
			---------
			1 0000 1001 ----> 9

7. 计算机语言

利用计算机识别的语言[可以转义成计算机识别的语言] 来编写软件程序

c c++ objective-C java php Python

Python:

​ 可以做的事情:

​ web网站 — 后台

​ 爬虫

​ 数据分析 — 线性代数 概率论 微积分

Python语言 ----> 先学的是语法 —> 众多语言通用的[可能写法不同]

先有一个语言环境 — 安装Python环境

点击安装 
	install now ---> 安装在默认路径下[不选]
	custom install ----> 自定义目录安装 [要选]
	勾选 add Python to Path ----> 是将python环境的路径添加到环境变量中
		作用:可以在计算机任意目录下都可以访问python环境
点击next
再点解next
	--- 选择路径
			将Python环境添加在一个独立文件夹中 不要与其他其他软件搅合在一起
接下来就是安装了

将python路径设置到环境变量中的意义

如果想查找一个文件 --- 需要先切换到该文件所在的目录
安装的时候忘记勾选  add Python to Path 
	不能再任意目录下进入到Python环境中了
可以自己将路径添加到环境变量中
	windows10 
		进入环境变量path字段下 点击新建
		一个路径 占一条
	编辑完成3个确定 一个都不能少

	windows7中
		进入环境变量path字段下
		 在字段对应的值中将每个路径使用;分开即可

		 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\Python\Python36\Lib\site-packages\django\bin;C:\Python\Python36\Scripts;C:\Python\Python36;

		 编辑完成之后三个确定
将路径添加到环境变量中路径查找优先级
	当执行对应指令的时候 会在环境变量对应的Path路径中去查找, 如果找到直接执行指令
	如果找不到, 会查看指令书写时控制台前面的路径 在这个路径下进行查找 找到执行指令 如果找打不到提示该指令不是内部或者外部命令 无法执行
  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值