Python基础4-7

第四章、程序的组织结构

1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构、和循环结构这三种基本结构组合而成

顺序结构

程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束

对象的布尔值

python一切皆对象,所有对象都有一个布尔值,获取对象的布尔值,使用内置函数bool()

以下对象的布尔值位False

​ False、数值0、None、空字符串、空列表、空元组、空字典、空集合

选择结构

程序根据判断条件的布尔值选择性地执行部分代码,明确的让计算机知道在什么条件下,该去怎么做

单分支结构

中文语义:如果…就

语法结构:

if 条件表达式:

​ 条件执行体

双分支结构

中文语义:如果…不满足…就…

语法结构:

if 条件表达式:

​ 条件执行体1

else:

​ 条件执行体2

多分支结构

语法结构:

if 条件表达式1:

​ 条件执行体1

elif条件表达式2:

​ 条件执行体2

elif条件表达式N:

​ 条件执行体N

[else:]

​ 条件执行体N+1

嵌套if

语法结构:

if 条件表达式1:

​ if 内层条件表达式:

​ 内存条件执行体1

​ else :

​ 内存条件执行体2

else:

​ 条件执行体

条件表达式:x if 条件判断 y (如果条件判读为True,执行x,如果条件判断为False,执行y)

print("使用条件表达式进入比较")
print((str(num_a)+"大于等于"+str(num_b)) if num_a >= num_b else(str(num_a)+"小于",+str(num_b)))

pass语句

pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方

什么时候用:先搭建语法结构,还没想好代码怎么写的时候

那些语句一起使用

1、if语句的条件执行体

2、for-in语句的循环体

3、定义函数时函数体

第五章

range()函数的使用

用于生成一个整数序列

创建range对象的三种方式:

range(stop):创建一个[0,stop)之间的整数序列,步长为1

range(start,stop):创建一个[start,stop)之间的整数序列,步长为1

range(start,stop,step):创建一个[start,stop)之间的整数序列,步长为step

返回值是一个迭代对象

**range类型的优点:**不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,才会计算序列当中的相关元素

in与not in 判断整数序列中是否存在(不存在)指定的整数

while循环

循环结构:反复做同一件事的情况,称为循环

循环的分类:while和for-in

语法结构:

while 条件表达式:

​ 条件执行体(循环体)

选择结构的if与循环结构while的区别:if是判断一次,条件为True执行一行。while是判断N+1次,条件为N执行N次

四步循环体:

1、初始化变量

2、条件判断

3、条件执行体(循环体)

4、改变变量

for-in循环

in表达式(字符串、序列等)中依次取值,又称为遍历

for-in遍历的对象必须是可迭代对象

for-in的语法结构

​ for 自定义的变量 in 可迭代的对象

​ 循环体

循环体内不需要访问自定义变量,可以将自定义变量代替为下划线

break、continue与else语句

break语句:用于结束循环结构,通常与分支结构if一起使用

continue语句:用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用

else:与else语句配合使用的三种情况:可以与if、可以与while、还可以与for

嵌套循环

循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体结构

二重循环中的break和continue

二重循环中的break和continue用于控制本层循环

第六章

列表的创建与删除

为什么需要列表?因为变量可以存储一个元素,而列表是一个“大容器”,可以存储N多个元素,程序可以方便地对这些数据进行整体操作

列表的创建:列表的创建需要使用中括号[],元素之间使用英文的逗号进行分隔

list = [“hello”, “world”, “python”]

list:列表对象名 =:赋值号 [:中括号 ,:逗号分隔符

列表的创建方式

1、使用冲括号

列表的特点:

1、列表元素按顺序有序排序

2、索引映射唯一数据(注意:索引从左到右是从0开始的,从右到左是重-1开始的)

3、列表可以存储重复元素

4、任意数据类型混存

5、根据需要动态分配和回收内存

列表相当于其他语言的数组

列表的查询操作

获取列表中指定元素的索引:通过index()函数进行查询

如果列表中存在N个相同元素,只返回相同元素中的第一个元素的索引

如果查询的元素在列表中不存在,则会抛出ValueError

还可以在指定的start和stop之间进行查询

**获取列表中的单个元素:**正向索引从0到-1,逆向索引从-N到-1,指定的索引不存在,抛出indexError

获取列表中的多个元素:

语法格式:

列表名[start : stop :step]

切片操作的结果为:原列表片段的拷贝

切片的范围:[start,stop]

step默认为1,可简单写为[start,stop]

step为正数,[:stop,step]:切片的第一个元素默认是列表第一个元素,从start开始往后计算切片

​ [start::step] :切片的最后一个元素默认是列表的最后一个元素,从start开始往后计算切片

step为负数,[:stop:step]:切片的第一个元素默认是列表的最后一个元素,从start开始往后计算切片

​ [start::stop] :切片的最后一个元素是默认列表的第一个元素,从start开始往后计算切片

列表元素的查询操作

判断指定元素在列表中是否存在

元素 in 列表名(字符串)、元素 not in 列表名(字符串)

列表元素的遍历

for 迭代变量 in 列表名 :

列表元素的增、删、改操作

列表元素的添加操作

添加操作方法:append():在列表的末尾添加一个元素

extend():在列表的末尾至少添加一个元素

insert():在列表的任意位置添加一个元素

切片:在列表的任意位置至少添加一个元素

列表元素的删除操作

删除操作:remove():一次只删除一个元素,重复元素只删除第一个,元素不存在抛出ValueError

pop():删除指定索引位置上的元素,指定索引不存在抛出IndexError,不指定索引,删除列表中最后一个元素

切片:一次至少删除一个元素

clear():清空列表

del:删除列表

列表元素的修改操作

为指定索引的元素赋值一个新值

为指定的切片赋予一个新值

列表元素的排序

常见的两种方式

1、调用sort()方法,列表中所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序排序

2、调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变

列表推导式

列表生成式

列表生成式简称“生成列表的公式”

[ i for i in range(1,10)]

注意事项:“表示列表元素的表达式”中通常包含自定义变量

第七章

什么是字典

字典是python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存储数据,字典是一个无序列表

scores = {“张三”:100,“李四”:98,“王五”:87}

字典的原理

字典的实现原理与查字典类似,查字典是先根据部首或拼音查找相应的页码,Python中的字典是根据key查找value所在的位置

字典的创建与删除

字典的创建最常用的方式

1、使用花括号:scores={“张三”:100,“李四”:98,“王五”:41}

2、使用内置函数dict()

dict(name = “nike”, age = 20)

字典的查询操作

字典中元素的获取有两种方式

1、使用[],举例:scores[“张三”], 会通过对应的键去查找值,但如果键不存在则会报keyError的错误

2、使用get()方法, 举例: scores.get(“张三”), 通过键查找值,如果键不存在则会显示None

字典元素的增、删、改操作

key的判断:

in,指定的key在字典中存在返回True 举例:“张三” in scores

not in , 指定的key在字典中不存在返回True 举例:“张三” not in scores

字典元素的删除

del scores=[“张三”] 通过指定的键删除值,删除的是一对儿,键和值都删除了

字典元素的新增

scores [‘jack’] = 100

获取字典视图的三个方法

获取字典视图,keys()方法:获取字典中所以的key

values()方法:获取字典中所有的value

items()方法:获取字典中所有的key,value对

字典元素的遍历

for item in scores :

​ print(item)

字典的特点

1、字典中的所有元素都是一个key-value对,key不允许重复,value可以重复

2、字典中的元素是无序的

3、字典中的key必须是不可变对象

4、字典也可以根据需要动态地伸缩

5、字典会浪费较大的内存,是一种使用空间换时间的数据结构

字典推导式

字典生成式

items = [“Fruits”,“Books”,“Others”]

price = [98,78,75]

将items的值作为字典的键,price的值作为字典的值,可以使用内置函数zip()

内置函数zip()

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表

{item.upper(): price for item,price in zip(item,prices)}

猜你喜欢

转载自blog.csdn.net/qq_48424500/article/details/114849404
今日推荐