目录
一、Python顺序结构
定义:顺序结构是最常见的默认语句结构,可理解为程序由上至下,由前到后,依照顺序一步步执行每条语句。下图做简要介绍:
顺序结构代码:
顺序结构为程序默认执行结构,在本地依照步骤一步步书写的代码均可以涵盖在该结构中
二、Python条件结构
定义:条件结构是通过对判断语句的判断,决定程序运行的方向。如下图结构所示:
(此图为双分支结构,同时还存在多分枝结构和单分支结构)
条件结构代码:
单分支结构:
双分支结构:
多分支结构:
选择嵌套结构:
三、Python循环结构
定义:针对一些需要重复执行的代码段,此时循环结构便能满足该需求。
循环结构一共有三种模式:while、do....while、for,下面针对这三种模式进行介绍
3.1、while模式
While循环中也可以嵌套条件语句进行判断,通过break,continue去跳转
3.2、do...while模式
在python中没有提供这类写法,故省略。
3.3、for 模式
for循环用于遍历一个序列(列表,元组,字典,集合或字符串),此时书写格式为:
For i in **kwargs(*list/tuple/string)
For循环也可以通过range函数限定循环的指定次数,range函数默认从0开始,递增1,直到指定数字结束循环,书写格式为:
For i in range(x,y,z) x为起始数字/y是结束数字/z为步长,即每次递增数
注意,range(5)代表0,1,2,3,4,其中不包含5
3.4、嵌套循环语句
循环嵌套语句,外循环执行一轮,内循环执行所有轮次。
3.5、break和continue
共同点:两个均为关键字,且只能运用在循环中。
不同点:1、break终止循环继续执行,直接跳出循环
2、continue只是结束本次循环,即本次循环后续步骤不会再执行,但跳出后仍旧回进行该循环体的下一次循环调用。
四、Python数据类型
Python数据类型分为基本数据类型和复合数据类型,且在python中,变量不需要声明数据类型
基本数据类型:数字、字符串
复合数据类型:列表、元组、字典、集合
我们一个个来看:
4.1、数字类型
数字类型是python中基本数据类型之一,其中细分又包含int(整型4字节)、complex(复数 3字节(utf-8))、float(浮点型 8字节)、bool(布尔型,1字节)
4.1.1、整型(int)
整型表示形式:
- 二进制:以”0b”开头 (0b10010)
- 八进制:”0o”或”0O”开头 (0o574)
- 十进制:直接书写10、20、30 (123,1245)
- 十六进制:以”0x”或”0X”开头 (0xFA13)
整型切换:
- bin():十进制转换为二进制,输出形式是字符串
- oct():十进制转换为八进制,输出形式是字符串
- hex():十进制转换为十六进制,输出形式是字符串
- int() :接收一个符合整型规范的字符串,并将字符串转换为整型
注意点:
1、Python中当多个变量的值相同时,这个值在内存中并没有被保存多次,只是多个变量都指向了同一内存
2、当a值发生变化时,a的引用地址变了,b、c的引用地址未变化
由此可得出一个结论:
数字类型在python中做修改时,并不是针对当前地址内数值进行修改,它是把新的值放在新的内存地址中,然后修改变量所指向的地址ID。Python自身具备内存管理功能,当一个值的地址没有任何变量指向时,则进行自动删除操作,即自身具备内存自动回收机制。
4.1.2、浮点型(float)
浮点型表示形式:
1、X.Y(X为整数位,Y为小数位)
2、XeY(科学计数法,含义为X*10^Y)
3、python中浮点数为双精度,故占8个字节
4.1.3、复数型(complex)
复数型表示形式:
- a+bj
- Complex(a,b)(a是实部,b表示虚部)
函数获取:
1、print(a.imag) # .imag可以获取复数的虚部
2、print(a.real) # .real可以获取复数的实部
3、print(a.conjugate()) # .conjugate()方法可以获取复数的共轭复数
4.1.4、布尔型(bool)
布尔型表示形式:
1、0为False
2、1为True
布尔型运算:and(&&)、or(||)、not
- a and b 如果a是false,则整个判定结果必然是false
- a or b 如果a是true,则整个判定结果必然是true
4.1.5、数值运算符
常见运算符为:加(+)、减(-)、乘(*)、除(/)、整除(//向下取整)、余(%)、幂(**)
4.2、字符串类型
表示形式:
- 单引号:’XXXX’
- 双引号:”XXXXX”
- 三引号:”””xxxxxx””” 块字符串
4.2.1、转义字符
在python中,我们用反斜杠(\)表示转义字符,目的是为了对后面紧跟字符进行转义,将其特殊函数屏蔽掉。
常用形式:
4.2.2、raw字符串
书写方法:
test=open(r’C:\PYTHON.txt’)
在raw字符串中,所有的字符都是直接按照字面意思来解释,没有转义字符或者不能打印的字符。
4.2.3、字符串操作
1、索引:字符串作为有序字符的集合,其每一位索引是按照顺序的,从0开始索引第一个字符,后续索引号逐渐加1,在索引时不能索引数值越界,程序会报错
2、切片:利用分片操作,对字符串进行提取.书写格式为:S[1:10:2]获取S字符串中索引下标1到9、且每隔一个字符取一个元素的子字符串(左闭右开)
特殊S[::-1]——————此表达式含义为针对S字符串进行逆序操作
Split(识别符号,切割次数)方法进行切片(将字符串切片为列表格式)
3、合并:将两个或多个字符串链接成一个字符串。
三种方式,一种为’a’+’b’,用加号链接
一种用操作符(%)---’%s %s %s’%(‘Python’,’hello’,’easy’)
一种为join方法(将元组或列表连接成字符串格式)
4、修改:在python中,字符串属于不可变类型,不能修改/删除源字符串的字符
三种方式修改,第一种还是通过加号(+)
第二种为切片再链接方式
第三种方式为replace()函数修改字符串
可表达一个字符串表达式中字符串的值,也可将字符串拆分成列表/元组/字典:eval()字符串转化成列表:
将字符串拆分成列表:
4.2.4、字符串格式化
目的:对字符串的输出进行控制,使其按照所规定的格式输出。
分三种方法:符号格式化、函数格式化和字典格式化,下面基于这三种方法做详细介绍。
1、符号格式化:
格式为”%+格式化符号”,主要存在如下几种
2、函数格式化:
我们用Format函数对字符串做格式化操作,使用方法如下所示
3、字典格式化:
4.3、列表类型
格式:变量名 = [元素1,元素2,元素3]
list类型中区分元素顺序,简言之可以通过检索进行检查,并且允许一个列表中包含重复的元素。列表是一个可修改数据项
初始化:list1 = list()或list1 = []
4.3.1、列表操作
1、索引:通过索引值得到对应列表中的元素,支持正向索引(正向索引开始值为0,反向索引末尾值为-1)与反向索引两种方式。
2、切片:切片可以在列表中截取所需元素,并返回一个截取后的列表。(左闭右开)
3、连接符连接:
4、列表修改/删除/添加/插入/扩展
修改:可通过索引值进行修改
删除:通过‘del list1[索引]’ 来删除指定索引列表元素,单个元素删除用list1.pop(索引)或list1.remove(元素)删除
添加:通过append添加,一次只能添加一个元素,且只能在列表的最后面
插入:通过insert(插入位置索引数,插入元素)插入
扩展:通过extend进行扩展,也就是批量增加功能
(此处和+添加的区别在于,extend在原有列表后做增加,+是生成了新id列表,其余效果一致)
4.3.2、列表函数
4.4、元组类型
格式:变量名 = (元素1,元素2,元素3)
元组类型中区分元素顺序,简言之可以通过检索进行检查,并且可以重复元素。当元组中只有一个元素时,简易在后面加一个逗号,避免识别错误。元组是一个不可修改数据项
初始化:tuple1 = tuple()或tuple1 = ()
4.4.1、元组操作
1、访问:支持索引和切片操作进行访问(索引或切片后的元组指向新ID)
2、修改:元组是不支持在原来地址中修改元素的,只能对元组进行连接操作,连接好的新元组与连接的两个元组之间ID不一致
3、删除:元组中元素值是不允许删掉的,但可以用del语句删除整个元组,删除后元组不可再次引用。
4、统计:通过conut方法统计元组中某一个元素出现的频次
5、查找:通过index方法查找元组中某一个元素出现的索引值
4.4.2、元组函数
4.5、字典类型
格式:变量名 = {key1:value1, key2:value2, key3:value3}
字典类型属于无序的数据类型,是通过键来寻找值。
其中字典的值是可变的,可以是列表,元组,字典等任意数据类型,但key必须用不可变类型。在一个字典中,键的值必须是唯一的
初始化:dict1 = dict()或dict1 = {}
4.5.1、字典操作
1、访问:字典属于无序的数据类型,没有根据顺序索引,其通过索引key值进行访问
2、修改:通过对key值索引进行value值修改
3、删除:字典可以根据dict1.pop(key)来删除对应键值对,也可以通过del dict1 来删除整个字典
4.5.2、字典遍历
4.5.3、字典函数
4.6、集合类型
格式:变量名 = {元素1, 元素2, 元素3}
集合类型属于无序的数据类型,且不存在重复的元素。
初始化:set1 = set()或set1 ={}
4.6.1、集合操作
1、添加:集合属于无序的数据类型,通过set1.add()进行单个元素添加,通过set1.update(set2)进行多个元素添加
2、删除:discard(元素)和remove(元素)删除集合中特定的元素(discard不报错,remove报错)
4.6.2、不可变集合
使用frozenset()方法定义集合,可以把原本默认的可变集合更改为为不可变集合
4.5.3、集合函数
简单汇总:
按照基本数据类型和复合数据类型分类:
基本数据类型:数字(int/float/complex/bool)、字符串(string)
复合数据类型:列表(list)、元组(tuple)、字典(dict)、集合(set)
按照可变数据类型和不可变数据类型分类:
不可变数据类型:数字(int/float/complex/bool)、字符串(string)、元组(tuple)
可变数据类型:列表(list)、字典(dict)、集合(set)