- 函数基本语法
- 函数的定义语法
def 函数名(传入参数):
函数体
Return 返回值
-
- 函数的使用步骤:
- 先定义函数
- 再调用函数
- 注意事项:
- 参数不需要,可以省略
- 返回值不需要,可以省略
- 示例:定义一个函数,输出‘你好,2023!’
- 函数的使用步骤:
def say_hello():
print("你好,2023!")
say_hello()
- 函数的参数
- 作用是:在函数运行的时候,接收外部的数据
- 注意事项:
- 函数定义的参数,称之为形式参数
- 函数调用的参数,称之为实际参数
- 函数的参数数量不限,使用逗号隔开
- 传入参数的时候,要和形式参数一一对应,逗号隔开
- 示例:在函数内进行提问判断
def ti_wen(date):
if date >=37:
print("发烧了")
else :
print("没有发烧")
ti_wen(37)
- 函数的返回值定义语法
- 作用:函数在执行完成后,返回给调用者的结果
- 应用语法:使用关键字:return返回结果
- 注意:函数体在遇到return后就结束了,不会执行后面的代码
- 函数的返回值None类型
- 定义:none类型是nonetype 的字面量,用于表示空的,无意义的
- 函数如何返回none
- 不使用return语句,直接返回none
- 直接return none
- 使用场景
- 函数返回值
- If判断
- 变量定义
- 函数的嵌套调用
- 定义:在一个函数中,调用另一个函数
- 执行流程:函数A中执行到调用函数B的语句时,会将函数B全部执行完,才会继续执行函数A剩余内容
- 变量在函数中的作用域
- 局部变量:作用在函数内部,外部无法使用
- 全局变量:在函数内部外部都可以使用
- 如何将函数中的局部变量变为全局变量:使用关键字:global
- 数据容器
- 定义:可以存储多个元素的Python数据类型
- 有哪些数据容器
- List(列表)
- Tuple(元祖)
- Str(字符串)
- Set(集合)
- Dict(字典)
- List(列表)
- 列表的定义语法:[元素1,元素2, ……]
- 元素的定义:数据容器内每份数据都是元素
- 元素的类型没有限制,也可以是列表
- 列表的下标索引
- 定义:列表的每个元素,都有编号的,这个编号就是下标索引,从前往后依次是0,1,2,3,……递增,从后往前依次是-1,-2,-3,……
- 如何通过下标索引取出元素:列表[下标] 例:name[0]
- 注意事项:注意下标索引的范围,超出范围会报错
- 方法和函数的区别:在类(class)内定义的函数称为方法
- 列表的方法:(不需要背下来,记住几个经常用的就可以)
- 列表.append(元素) 向列表中添加一个元素,在最后一个下标后面添加
- 列表.extend(容器) 将列表中的所有元素依次取出,追加到列表尾部
- 列表.insert(下标,元素) 向指定下标内出入指定元素
- Del列表[下标] 删除指定下标的元素
- 列表.pop(下标) 删除指定下标的元素
- 列表.remove(元素) 从前向后,删除此元素的第一个匹配项-->就是根据元素找到第一个匹配的元素删除
- 列表clear() 清空列表
- 列表.count(元素) 统计此元素在列表中的次数
- 列表.index(元素) 查找此元素的下标,没有报错
- Len(列表) 容器中有多少元素
- 列表的特点
- 可以容纳多个元素
- 可以容纳不同类型的元素
- 数据是有序存储的(有下标序号)
- 允许重复数据存在
- 可以修改(增加或者删除元素)
- 列表的循环
- 什么是遍历:将容器内的所有元素依次取出,并处理的操作,称之为遍历
- 在循环控制上,while循环可以控制循环条件,for循环不可以控制循环条件,只能一个个将容器的数据取出
- 在无限循环上,while循环可以通过条件控制做到无限循环,for循环理论上是不可以的,因为容器的内容是有限的
- 在使用场景上,while循环适用于任何想要循环的场景,for循环适用于遍历容器的场景或简单的固定次数的循环场景
- 示例:
#while循环取列表的所有数据
list=[1,2,3,4,5,6,7]
index=0
while index < len(list):
m=list[index]
index +=1
print(m)
# for循环取列表的所有数据
for i in list:
print(i)
- 元祖的定义与操作
- 元祖的定义方式:(元素1,元素2,元素3,……)
- 元祖的操作方法:
- Index() 查找某个数据,如果数据存在返回对应的下标,不存在报错
- Count() 查询元素在元祖中出现的次数
- len() 统计元祖内元素的个数
- 注意事项:不可以修改内容
- 元祖的特点:
- 和list基本相同(有序,可以重复元素,任意数量元素),唯一不同在于不可以修改
- 支持for循环
- 字符串的定义与操作
- 字符串为什么被称之为容器呢:字符串也可以看做字符的容器,支持下标索引等特性
- 字符串有哪些常用的方法
- 字符串.下标 根据下标取出指定位置的字符
- 字符串.index(字符串) 查找给指定字符的第一个匹配项的下标
- 字符串.replace(字符串1,字符串2) 将字符串内的所有字符串1,转换成字符串2,但是原字符串没有改变,会生成一个新的字符串
- 字符串.split(字符串) 按照给定字符串,对字符串进行分隔,不会更改原字符串,会生成新的列表
- 字符串.strip() 移除收尾的空格和换行符或指定字符串
- 字符串.count(字符串) 统计字符串内字符串出现的次数
- Len(字符串) 统计字符串内字符个数
- 字符串有哪些特点
- 只可以储存字符串
- 支持下标索引
- 允许重复字符串存在
- 不可以修改(和元组一样不可以修改)
- 序列的切片
- 什么是序列:内容连续,有序,可使用下表索引的一类数据容器(和range语句一样)
- 列表,元组,字符串都可以视为序列
- 序列如何切片
- 起始可以省略,省略从头开始
- 结束可以省略,省略到尾结束
- 步长可以省略,省略步长为1(可以为为负数,表示倒序执行
- 语法:序列[起始下标,结束下表,步长](结束下标不包括本身)
- 集合定义与操作
- 集合的特点
- 集合内不允许有重复值(可以去除重复数据)
- 集合内元素是无序的(不支持下标索引)
- 集合的定义方式:{元素,元素,元素,……}
- 集合的常用操作:
- 集合.add(元素) 集合内添加一个元素
- 集合.remove(元素) 移除集合内的指定元素
- 集合.pop() 随机抽取集合内的一个元素
- 集合.clear() 清空集合
- 集合1.difference(集合2) 得到一个新集合,内含2个集合的差集,原有的2个集合内容不变
- 集合1.difference_update(集合2) 得到一个新集合,删除集合2中的存在的元素 ,集合1会被修改,集合2不变
- 集合1.union(集合2) 得到一个新集合,内含两个集合的全部元素,原来的2个集合内容不变
- len(集合) 得到一个整数,记录了元素的数量
- 集合的特点
- 字典的定义
- 为什么使用字典:字典可以提供基于key检索value的场景实现,像查字典一样
- 字典的定义语法:{key:value,key:value,……}
- 字典的注意事项:
- 键值对的key和value可以是任意类型(key不可为字典)
- 字典内的key不可以重复,重复添加等同于覆盖原有数据
- 字典不可以使用下标索引,而是通过key检索value
- 字典的常用操作
- 字典的常用操作:
- 字典[key] 获取指定key的value值
- 字典[key]=value 添加或更新键值对
- 字典.pop(key) 取出字典内key的value值,并删除此key的键值对
- 字典.clear() 清空字典
- 字典.keys() 获取字典的所有key 用于循环
- Len(字典) 计算字段内的元素数量
- 注意事项:新增和更新元素的语法一致,如果存在就更新,不存在就新增
- 字段的特点
- 可以容纳多个数据
- 可以容纳不同的数据类型
- 每一份数据都是一个键值对
- 可以通过key取出value值,key不可以重复
- 不支持下标索引
- 可以修改(增加或删除更新元素)
- 支持for循环,不支持while循环
- 字典的常用操作:
- 数据类型分类
- 是否支持下标索引
- 支持:列表,元祖,字符串 -序列类型
- 不支持:集合,字典 -非序列类型
- 是否支持重复元素
- 支持:列表,元祖,字符串 -序列类型
- 不支持:集合,字典 -非序列类型
- 是否可以修改
- 支持:列表,集合,字典
- 不支持:元祖,字符串
-
- 应用场景
- 列表:一批数据,可修改、可重复的存储场景
- 元组:一批数据,不可修改、可重复的存储场景
- 字符串:一串字符串的存储场景
- 集合:一批数据,去重存储场景
- 字典:一批数据,可用Key检索Value的存储场景
- 容器的通用功能
- 应用场景
- 是否支持下标索引