01 函数
- 函数:是组织好的,可重复使用的,用来实现特定功能的代码段
- 基础语法:
- 函数调用:
- 注意:
- 参数如不需要,可以省略
- 返回值如不需要,可以省略
- 函数必须先定义后使用
02 函数的传入参数
- 传入参数的功能:在函数进行计算时候,接受外部(调用时)提供的数据
- 函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数。参数之间使用逗号进行分隔
- 函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值传入的时候,按照顺序传入数据,使用逗号分隔
- 函数的传入参数个数不受限制
03 函数的返回值
如图代码
定义两数相加的函数功能。完成功能后,会将相加的结果返回给函数调用者所以,变量r接收到了函数的执行结果。
- 语法:
- 注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行
04 函数的嵌套调用
- 即在一个函数里面调用了另外一个函数
05 函数变量的作用域
- 作用域:变量的作用范围
- 主要分为两类:局部变量、全体变量
- 局部变量:
- 定义在函数体内部的变量,即只在函数体内部生效
- 作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量
- 全局变量:指的是在函数内、外都能生效的变量
- global关键字:使用global关键字,可以将函数内的变量声明为全局变量
06 数据容器
- python中的数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。
- Python有哪些数据容器:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
07 列表的定义语法
- 基本语法:
注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套
08 列表的下标索引
- 列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增
- 也可以反向索引,也就是从后往前:从-1开始,一次递减
- 语法:列表 [ 下标索引 ]
09 列表的常用操作方法
- index方法【在列表在查询某元素的下标索引】:
- 语法:列表.index(元素)
- 若查找的元素不存在,会报错
修改特定位置元素的值:
- 语法:列表 [ 下标 ] = 值
在列表中插入元素:
语法:列表.insert(下标,元素)【在指定位置,插入指定的元素】
- 追加元素
- 语法1:列表.append(元素)【将指定元素,追加在列表的最后。追加一个元素】
- 语法2:列表.extend(其他数据容器)【将其他数据容器的内容取出,依次追加到列表尾部。追加一批元素】
- 删除元素
- 语法1:del列表 [下标] 【通过关键字进行删除】
- 语法2:列表.pop(下标) 【通过pop方法,将指定下标的元素弹出,可以用一个变量接收弹出的元素】
- 删除某元素在列表中第一给匹配项
- 语法:列表.remove(元素)
- 清空列表:
- 语法:列表.clear()
- 统计某元素在列表中的数量:
- 语法:列表.count(元素)
- 统计列表内,有多少元素:
- 语法:len(列表)
- 总结:
- 方法总览:
- 列表特点:
10 列表的循环遍历
- while循环和for循环,都是循环语句,但细节不同:
- 在循环控制上:
- while循环可以自定循环条件,并自行控制
- for循环不可以自定循环条件,只可以一个个从容器内取出数据
- 在无限循环上
- while循环可以通过条件控制做到无限循环
- for循环理论上不可以,因为被遍历的容器容量不是无限的
- 在使用场景上:
- while循环适用于任何想要循环的场景
- for循环适用于,遍历数据容器的场景或简单的固定次数循环场景
11 元组的定义和操作
- 元组一旦完成定义,便不可被修改
- 元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
- 注意:元组只有一个数据,这个数据后面要添加逗号。
- 元组通过下标取值的方法和列表一样的
- 元组的相关操作
- 不可以直接修改元组的内容,否则会报错。但可以修改元组内的list的内容(对列表元素的修改、增加、删除、反转等)
12 字符串的定义和操作
- 字符串常用操作:
- 查找特定字符串的下标索引值:
- 字符串的替换:
- 字符串的分割:
- 字符串的规整操作:
- 统计字符串内某字符串的的出现次数:
- 统计字符串的字符个数:
![]()
总结:
13 数据容器(序列)的切片
序列是指1:内容连续、有序,可使用下标索引的一类数据容器列表、元组、字符串,均可以可以视为序列
切片:从一个序列中,取出一个子序列
切片语法:序列 [ 起始下标:结束下标:步长 ] 【表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列】
起始下标表示从何处开始,可以留空,留空视作从头开始
结束下标 不含)表示何处结束 可以留空,留空视作截取到结尾
步长表示,依次取元素的间隔【步长1表示,一个一个的取出元素;步长2表示,每次跳过一个元素取;步长N表示,每次跳过N-1给元素取;步长为负数表示,反向取】
14 集合的定义和操作
- 集合的特点:与列表、元组、字符串相比,集合最主要的特点就是不支持元素的重复,且内部的内容是无序的
- 基本语法:
添加新元素:集合.add(元素)【将指定元素添加到集合内】
- 移除元素:集合.remove(元素)【将指定元素,从集合内移除】
随机取出集合以元素:集合.pop()【将随机元素从集合中取出】
清空集合:集合.clear() 【将集合元素清空】
取出两个集合的差集:集合1.differerce.(集合2) 【取出集合1和集合2的差集(集合1有而集合2没有的,即数学中的集合的A-B)】
消除2个集合的交集:集合1.difference_updata(集合2)【对比集合1和集合2,在集合1内,删除和集合2相同的元素(数字中集合的A-B)】
两个集合合并:集合1.union(集合2) 【将集合1和集合2组成新集合】
总结:
特点:
15 字典的定义
- 功能:通过key找到对应的value
- 字典的基础定义:字典的定义,同样使用{},不过存储的元素十五一个个的“键值对”
- 基础语法:
- 注意:字典中不允许有相同的key
- 获取字典中的value:
- 字典注意事项:
16 字典的常用操作
- 新增元素:字典 [Key] = Value 【结果:字典被修改,新增加了元素】
更新元素:字典[ Key ] = Value 【结果:字典被修改,元素被更新】
删除元素:字典pop(Key)【获得指定Key的value,同时字典被修改,指定keyd的数据被删除】
清空元素:字典.clear()
获取全部Key:字典.keys() 【得到字典中全部的Key】
- 对字典进行遍历循环(先获得key,通过key来获取value):
- 可通过该方法获取字典的全部key后,利用for循环遍历字典
- 也可以直接对字典进行for循环遍历:
字典中的元素数量:len(字典)
总结:
字典特点:
17 五类数据容器的总结对比
- 是否支持下标索引:
- 支持:列表、元组、字符串 ——序列类型
- 不支持:集合、字典 —— 非序列类型
- 是否支持重复集合:
- 支持:列表、元组、字符串 —— 序列类型、
- 不支持:集合、字典 —— 非序列类型
- 是否可以修改:
- 支持:列表、集合、字典
- 不支持:元组、字符串
- 应用场景:
18 数据容器的通用操作
- 在遍历上,5类数据容器都支持for遍历循环。其中列表、元组、字符串支持while循环,集合、字典不支持
数据容器的通用功能方法:
- len(容器) :统计容器的元素个数
- max(容器) :统计容器的最大元素
- min(容器):统计容器的最小元素
- 容器的通用转换功能:
- list(容器):将给定容器转换为列表
- str(容器):将给定容器转换为字符串
- tuple(容器):将给定容器转换为元组
- set(容器):将给定容器转换为集合
容器通用的排序功能:strted(容器,reverse=True)【注意:排序后的结果会都变成列表对象】
容器通用功能总览: