Python语法笔记

本文详细介绍了Python的基础知识,包括计算机组成、命令行指令、数据存储的进制转换、编码与解码、编程语言的概念以及Python解释器的安装。重点讲述了Python的基本语法,如语句和缩进、变量与数据类型、运算符,特别是进制转换、变量的定义和类型转换。此外,还涵盖了流程控制语句,如分支和循环结构。
摘要由CSDN通过智能技术生成

Python的基本语法

1.计算机相关的名词知识

1.1计算机的组成

计算机之父:冯.诺依曼,根据冯.诺依曼结构体系,计算机是分为5部分的

1.输入设备

​ 把信息传递到计算机中,比如键盘、鼠标

2.输出设备

​ 信息从计算机中传递出来,比如音响、显示器、打印机等等

3.存储区

​ 计算机被发明出来就是用于数据的存储和计算的

​ 计算机上有两个存储数据的设备:内存、硬盘

​ 硬盘:电脑上的磁盘分区,存储在硬盘中的数据都是持久化存储 【只要不删除就一直存在】

​ 内存:内存是用来存储计算机上应用app运行产生的数据,当程序退出的时候,该程序存储于内存中的数据就会被释放

​ 内存在之后的知识中会有提及【编写的Python程序产生的数据是存储于内存中】

4.运算器

调度存储器中的数据参与相应的运算 【基本运算有加减乘除等等】

5.控制器

控制器和运算器结合在一起称为中央控制器[CPU], 相当于人的大脑,调度计算机各部分的运转

1.2命令行交互的指令

讲解的是人与应用程序交互的模式,这个模式常见的是有两种

  1. 图形化界面

    接触起来是比较简单的,按照的操作描述很快上手进行操作

  2. 命令行指令

    之后可能会接触一些文件操作相关的指令,来介绍一些常用的指令,这个指令在Windows系统中成为DOS命令,在Mac或者Linux系统中称为Shell命令

    这个指令是需要在终端运行,这个工具在Mac上称为终端,在Windows称为命令提示符工具

    启动工具的方式

    1. windows下可以使用 快捷方式 win键+r调出搜索器,输入cmd回车进行启动
    2. Mac 在启动台上找到其他 – 终端

    工具启动完成,默认打开的是当前用户的路径

    Mac和windows的目录结构不一样

    Windows是分磁盘的,分为C盘、D盘,但是在Mac下没有分盘,所有的路径延申都是从根目录/来的, Mac的同学 可以在终端上书写指令 open /` 打开根目录

    常用的一些指令:

    主要是来接触目录的跳转的

    1.显示当前目录下的子文件
    	windows: dir
    	mac: ls
    	
      显示隐藏的文件的话
        windows: dir /a
       	mac: ls -la
    2.路径的切换
    	使用的指令是 cd 文件的路径
    	文件路径分为两种,分别是相对路径和绝对路径
    		绝对路径:windows的话,从盘符开始到指定文件夹的路径
    			比如C:\WorkContent\各班代课\JYPython2304\day02_计算机基础与Python相关软件安装配置
    		    Mac就是从/开始的,不知道路径是什么 找到文件夹 右键显式简介 -- 位置
    		相对路径:参照物的,参照物就是当前的文件夹
    		   有两个符号,分别是.和..
    		      . 当前文件夹
    		      .. 上一级文件夹
    		相对路径需要根据需求,从当前文件夹使用.或者..定位相应位置,再去定位想要的路径。
      定位到公用用户
      	 绝对路径:cd C:/Users/Public
      	 相对路径: cd ../Public
    	
    	windows下面可能涉及到盘符的切换, 路径盘符与当前位置不一样,需要先切换盘符,格式就是  盘符:  回车即可	   
    

1.3计算机中的数据存储

生活中的计算数据的时候是按照十进制规则来进行计算的

十进制的规则是逢十进一,十进制的数字符号是由0/1/2/3/4/5/6/7/8/9组合成的

计算机中数据存储运算的时候,不是采用的十进制,而是二进制, 这个二进制就是逢二进一, 二进制的数字符号只有0和1

常见的进制形式:二进制/八进制/十进制/十六进制

二进制(0b – binary): 符号集只有0和1, 0b10代表的是数字2

八进制(0o — octal) : 符号集是有0/1/2/3/4/5/6/7, 0o10代表的是数字8

十进制: 符号集是0-9, 10 代表就是数字10

十六进制(0x – hexadecimal) : 逢十六进一,就意味着没有遇到16不会出现两位数, 0x10 代表的是数字16, 符号集0/1/2/3/4/5/6/7/8/9/a/b/c/d/e/f 在十六进制中使用字母a-f表达10-15的数字 【字母大小写都可以】

八进制和十六进制出现的原因是因为二进制表达数据可读性差,组合会过于长,因此就出现了八进制和十六进制,简化二进制的表达格式

进制转换
  1. 十进制转换为二进制的规则
整数部分的规则:
	将数据除以2取余数,再将商重复这个操作,直到商为0,将所有的余数逆向拼接,结果就是二进制数据
	比如: 24 == 0b11000
	24/2=12 --- 0
	12/2=6 ---- 0
	6/2 = 3 --- 0
	3/2=1 ----- 1
	1/2=0 ----- 1
小数部分的规则:
	将数据乘以2取整数部分,再讲积的小数部分乘以2取整数部分 重复此操作,直到小数部分为0,将整数部分正序拼接在一起
	比如:0.125 = 0b.001
	0.125 * 2 = 0.25 ---> 0
	0.25 * 2 = 0.5 -----> 0
	0.5 * 2 = 1.0 ------> 1
	
	0.2*2=0.4===0
	0.4*2=0.8===0
	0.8*2=1.6===1
	0.6*2=1.2===1
	...无限循环
	小数存储的时候会有精度损失的问题
	尽量避免小数进行比较
	0.1+0.2=0.3【计算机中不一定等于0.3,会比0.3大一点点】
	
	如果数据是 24.125 ====》 0b11000.001

练习:

29=====ob11101
29/2=14======1
14/2=7=====0
7/2=3=====1
3/2=1====1
1/2=0====1

58====111010
58/2=29====0
29/2=14===1
14/2=7===0
7/2=3===1
3/2=1===1
1/2=0===1

75==0b1001011.01
75/2=37===1
37/2=18===1
18/2=9===0
9/2=4===1
4/2=2===0
2/2=1===0
1/2=0===1

0.25*2=0.5===0
0.5*2=1===1
  1. 二进制转十进制
规则:按权展开求和
	以十进制为例,讲解这个按权展开
	比如 5436 = 5 * 1000 + 4 * 100 + 3 * 10 + 6 * 1
		1000/100/10/1都是基于本进制对应位置上的权值
		     = 5 * 10^3 + 4 * 10^2  + 3 * 10^1 + 6 * 10^0
		每位上的权值 = 进制^(位数-1)
	按照上面的规则,二进制上每位的权值 = 2^(位数-1)
	比如 0b1101 = 
		   1*2^0 + 0 * 2^1 + 1*2^2 + 1 * 2^3
           = 1 + 0 + 4 + 8
           = 13
    二进制比较特殊,特殊的就是符号集只有0和1,0乘以任何数为0 1乘以任何数位数据本身,可以假设所有位置上都是1,二进制数据每位的权值从右到左的结果为  1 2 4 8 16 32 64 128 256 512 1024 ....
    讲解另外一个规则:
    	 将数据减去离其最近且小于它的2幂数,将差值继续该操作 直到差值为0, 统计2的幂数有哪些,然后按照从右向左的位置 有该幂数的则该位置为1,否则对应位置为0
         比如: 79 ====0b1001111
         79-64=15
         15-8=7
         7-4=3
         3-2=1
         1-1=0      

练习

0b10111
1*2^0+1*2^1+1*2^2+0*2^3+1*2^4=1+2+4+0+16=23
1+2+4+0+16=23
0b10010
0+2+0+0+16=18
0b11100
0+0+4+8+16=28
0b10110
0+2+4+0+16=22
  1. 八进制和二进制之间的转换
二进制转八进制规则:
	八进制的最大数字是7,7转化为二进制需要3位,为0b111,最大的数字需要三位,其他的数字三位足以满足要求
	规则:将二进制数据从右向左3位3位一分,左边不足3位前面补0, 将分出的每一份按权展开求和,将和从左向右拼接在一起就是八进制
	比如 0b1100111011
	001 100 111 011
	1  +  4 + 7 + 3====0o1473
八进制转二进制规则: 三位的幂值 4 2 1
	将每位数转化为三位二进制数,将结果拼接在一起即可
	比如0o2574
	2--0b010
	5--0b101
	7--0b111
	4--0b100
	===>0b010101111100
  1. 十六进制和二进制之间的转换
二进制转十六进制规则:
	十六进制的最大数字是f(15),15转化为二进制需要4位,为0b1111,最大的数字需要四位,其他的数字四位足以满足要求
	规则:将二进制数据从右向左4位4位一分,左边不足4位前面补0, 将分出的每一份按权展开求和,将和从左向右拼接在一起就是十六进制
	比如 0b1100111011
	 0011 0011 1011
	 3 +  3  + b ===>0x33b
十六进制进制转二进制规则: 四位二进制数幂值 8 4 2 1
	将每位数转化为四位二进制数,将结果拼接在一起即可
	比如0x9ae3
	9--1001
	a--1010
	e--1110
	3--0011
	===>0b1001101011100011

练习

八进制转二进制
0o756===0b111101110
7--0b111
5--0b101
6--0b110
0o354===0b011101100
3--0b011
5--0b101
4--0b100
十六进制转二进制
0xaf39===0b1010111100111001
a--0b1010
f--0b1111
3--0b0011
9--0b1001
0xbcd7===0b1011110011010111
b--0b1011
c--0b1100
d--0b1101
7--0b0111

备注:八进制或者十六进制转换成十进制,规则也是按权展开求和:八进制和十六进制之间的转换需要以二进制为桥梁进行操作【先转二进制,再做转换】

八进制转十进制
	0o112 = 2*8^0 + 1*8^1 + 1*8^2
		  = 2 + 8 + 64 = 74
十进制转八进制
	数据除以8取余数,再用商除以8取余数直到商为0 将余数逆向拼接
	78 = 0o116
	78/8 = 9 --- 6
	9/8 = 1 ---- 1
	1/8 = 0 ---- 1
十六进制转十进制
	0xff = 15*16^0 + 15 * 16^1
	     = 15 + 240
	     = 255
十进制转十六进制
	数据除以16取余数,再用商除以16取余数直到商为0 将余数逆向拼接
	255 = 0xff
	255/16 = 15 -- 15
	15/16 = 0 ---- 15
八进制和十六进制之间的转换
	0xff === 0o377
		0xff = 0b011 111 111
				=0o377

1.4编码和解码

计算机中数据的存储格式是二进制格式的,计算机被研发出来的作用就是用来存储和计算的。

常见的一些数据存储于计算机中是如何储存的,这个规则称之为编码

常见一些数据【数字、文字、图片、音视频等】如何存储于计算机中的???

进制转换中数字可以通过规则转换成二进制进行存储,比如10可以转换成0b1010,但是文字【汉字、英文字母或者各国语言】这些如何进行存储???

因为数字可以直接存储,指定存储规则的逻辑将每个文字都映射一个数字,将数字转换为二进制数据进行存储,这种规则称为编码。

常见的编码方式有

  1. ASCII码【美国信息交换标准代码】只有128个文字符号

    需要记住的就是字符0-9,小写英文字母a-z,大写英文字母A-Z

    字符0对应的十进制数据是48

    字符a对应的十进制数据是97

    字符A对应的十进制数据是65

  2. GB2312/GBK

    国家编码标准,简称国标,兼容ASCII码

  3. Unicode

    国家编码标准,收录的世界语言在内,兼容ASCII码

    Unicode下又分为很多种,常见的是其中的UTF-8

    Python采用的数据编码方式就是UTF-8

不同编码的存储区别:

  1. ASCII属于单字节编码方式,里面规定的字符,在内存中存储的时候开辟的一个字节进行存储的
  2. GBK/GB2312 存储汉字的时候规定汉字字符在内存占2个字节
  3. utf-8存储汉字的时候 规定汉字字符在内存中占3个字节

计算机中数据的存储格式是二进制,数据在存储的时候单位有哪些?

  1. 位(bit) 二进制数据中一个0或者一个1称为1位,0b10 这是2位
  2. 字节(Byte) 1个字节等于8位 1B=8b
  3. 千字节(KB) 1KB = 1024B
  4. 兆字节(MB) 1MB = 1024KB
  5. 吉字节(GB) 1GB = 1024MB
  6. 太字节(TB) 1TB=1024GB

存储的时候开辟的最小的单位就是字节

编码:把文字数据编译成计算机中存储的二进制数据的过程称为编码

解码:把计算机中存储的二进制数据解析成文字数据的过程称为解码

1.5编程语言

语言:沟通交流传递信息的方式,优先信息的传递包含三部分:传递着/接收者/共识信息【两方都能听懂表达的含义】

编程语言:人们想要和计算机打交道,并且让计算机帮我们做一些事情,主动传递者需要向计算机传递一些计算机能听懂的语言,这个语言就叫做编程语言。

编程语言分为低级编程语言和高级编程语言

  1. 低级语言包含机器语言、汇编语言

    机器语言直接通过0和1指令与计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值