Python基础语法(十六)文件操作
课程:文件操作
目标
文件操作的作用
文件的基本操作
打开
读写
关闭
文件备份
文件和文件夹的操作
一. 文件操作的作用
思考:什么是文件?
思考:文件操作包含什么?
答:打开、关闭、读、写、复制…
思考:文件操作的的作用是什么?
答:读取内容、写入内容、备份内容…
总结:文件操作的作用就是把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。
二. 文件的基本操作
文件内数据要求为字符串类型,即要求写入的数据为字符串类型
2.1 文件操作步骤
打开文件,如果文件不存在,则会新建文件
读写等操作
关闭文件(如果不关闭,文件会一直占用内存)
注意:可以只打开和关闭文件,不进行任何读写操作。
# 打开文件open()f = open('test.txt', 'w')# 读写操作 write() read()f.write('aaa')# 关闭文件 close()f.close()
2.1.1 打开open(name,mode)
在py ...
Python基础语法(十五)函数——函数加强:递归、lambda 表达式、高阶函数
目标
递归
lambda 表达式
高阶函数
一. 递归
1.1 递归的应用场景
递归是一种编程思想,应用场景:
在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现;
在后续的算法课程中,很多算法都离不开递归,例如:快速排序。
1.1.1 递归的特点
函数内部自己调用自己
必须有出口,即结束条件
当达到出口条件时,函数将一步一步结束递归计算
1.2 应用:3以内数字累加和
代码
"""递归特点:1. 函数内部也可调用2. 须有出口, 即结束条件函数返回值: 写法 和 返回的位置: 函数调用的位置"""# 3 + 2 + 1# 6 = 3 + 2以内数字累加和# 2以内数字累加和 = 2 + 1以内数字累加和# 1以内数字累计和 = 1 # 出口:当达到结束条件,就开始一层一层结束 递归def sum_numbers(num): # 1.如果是1,直接返回1 -- 出口 if num == 1: # 出口:结束条件 retur ...
Python基础语法(十四)函数——函数应用:学员管理系统
目标
应用:学员管理系统
一. 应用:学员管理系统
1.1 系统简介
需求:进入系统显示系统功能界面,功能如下:
1、添加学员
2、删除学员
3、修改学员信息
4、查询学员信息
5、显示所有学员信息
6、退出系统
系统共6个功能,用户根据自己需求选取。
1.2 步骤分析
显示功能界面
用户输入功能序号
根据用户输入的功能序号,执行不同的功能(函数)
3.1 定义函数
3.2 调用函数
1.3 需求实现
1.3.1 显示功能界面
定义函数print_info,负责显示系统功能。
def print_info(): print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息' ...
Python基础语法(十三)函数——函数提高
课程:函数
目标
变量作用域
多函数程序执行流程
函数的返回值
函数的参数
拆包和交换两个变量的值
引用
可变和不可变类型
一. 变量作用域
变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量。
局部变量
所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效。
def testA(): a = 100 print(a)testA() # 100print(a) # 报错:name 'a' is not defined
变量a是定义在testA函数内部的变量,在函数外部访问则立即报错。
局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。
全局变量
所谓全局变量,指的是在函数体内、外都能生效的变量。
思考:如果有一个数据,在函数A和函数B中都要使用,该怎么办?
答:将这个数据存储在一个全局变量里面。
# 定义全局变量aa = 100def testA(): print(a) # 访问全局变量a,并打印变量a存储的数据def testB(): ...
Python基础语法(十二)函数——函数基础
目标
函数的作用
函数的使用步骤
函数的参数作用
函数的返回值作用
函数的说明文档
函数嵌套
函数的作用
需求:用户到ATM机取钱:
输入密码后显示"选择功能"界面
查询余额后显示"选择功能"界面
取2000钱后显示"选择功能"界面
特点:显示“选择功能”界面需要重复输出给用户,怎么实现?
函数就是将一段具有独立功能的代码块 整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。
函数在开发过程中,可以更高效的实现代码重用。
函数的使用步骤
定义函数
def 函数名(参数): 代码1 代码2 ......
调用函数
函数名(参数)
注意:
不同的需求,参数可有可无。
在Python中,函数必须先定义后调用。
示例
需求:复现ATM取钱功能。
视频写的
搭建整体框架(复现需求)
print('密码正确登录成功')# 显示"选择功能"界面print('查询余额完毕')# 显示"选 ...
Python基础语法(十一)数据序列——推导式
目标
列表推导式
字典推导式
集合推导式
推导式是用来从一个序列(例如列表、元组或集合)中快速生成另一个序列。
推导式可简化代码抒写。
列表推导式
作用:用一个表达式创建一个有规律的列表或控制一个有规律列表。
列表推导式又叫列表生成式。
示例
需求:创建一个0-10的列表。
while循环实现
# 1.准备一个空列表list1 = []# 2.书写循环,依次追加数字到空列表list1中i = 0while i < 10: list1.append(i) i += 1print(list1)
for循环实现
list1 = []for i in range(10): list1.append(i)print(list1)
列表推导式实现
列表推导式语法结构-- [返回对象 for 临时变量i in 序列]
list1 = [i for i in range(10)] # for语句前面的为返回对象iprint(list1)
带if的列表推导式
需求:创建0-10的偶数列表
方法一:range()步长实现
list1 ...
Python基础语法(十)数据序列——公共操作
目标
运算符
公共方法
容器类型转换
运算符
运算符
描述
支持的容器类型
+
合并
字符串、列表、元组
*
复制
字符串、列表、元组
in
元素是否存在
字符串、列表、元组、字典
not in
元素是否不存在
字符串、列表、元组、字典
+ 合并
# 1. 字符串 str1 = 'aa'str2 = 'bb'str3 = str1 + str2print(str3) # aabb# 2. 列表 list1 = [1, 2]list2 = [10, 20]list3 = list1 + list2print(list3) # [1, 2, 10, 20]# 3. 元组 t1 = (1, 2)t2 = (10, 20)t3 = t1 + t2print(t3) # (10, 20, 100, 200)
* 复制
# 1. 字符串print('-' * 10) # ----------# 2. 列表list1 = ['hello']print(list1 * 4) # ...
Python基础语法(九)数据序列——集合
目标
创建集合
集合数据的特点
集合的常见操作
集合
创建集合
创建集合使用{}或set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。
特点:
集合可以去掉重复数据;
集合数据是无序的,故不支持下标
示例:
s1 = {10, 20, 30, 40, 50}print(s1)s2 = {10, 30, 20, 10, 30, 40, 30, 50}print(s2) # 打印时 自动去除重复的数据s3 = set('abcdefg')print(s3)# 创建空集合s4 = set()print(type(s4)) # sets5 = {}print(type(s5)) # dict
集合常见操作方法
增加数据
add(),追加单个数据
s1 = {10, 20}s1.add(100)s1.add(10)print(s1) # {100, 10, 20}
因为集合有去重功能 ...
Python基础语法(八)数据序列——字典
目标
字典的应用场景
创建字典的语法
字典常见操作
字典的循环遍历
字典
字典的应用场景
思考1: 如果有多个数据,例如:‘Tom’, ‘男’, 20,如何快速存储?
答:列表
list1 = ['Tom', '男', 20]
思考2:如何查找到数据’Tom’?
答:查找到下标为0的数据即可。
list1[0]
思考3:如果将来数据顺序发生变化,如下所示,还能用list1[0]访问到数据’Tom’吗?。
list1 = ['男', 20, 'Tom']
答:不能,数据’Tom’此时下标为2。
思考4:数据顺序发生变化,每个数据的下标也会随之变化,如何保证数据顺序变化前后能使用同一的标准查找数据呢?
答:字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。
创建字典的语法
字典特点:
符号为大括号
数据为键值对形式出现
各个键值对之间用逗号隔开
# {}键值对 各个键值对用逗号 ...
Python基础语法(七)数据序列——列表与元组
目标
列表的应用场景
列表的格式
列表的常用操作
列表的循环遍历
列表的嵌套使用
元组的应用场景
定义元组
元组常见操作
列表
列表的应用场景
思考:有一个人的姓名(TOM)怎么书写存储程序?
答:变量。———————————-
思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?
答:列表即可, 列表一次性可以存储多个数据。
列表中的数据允许更改。
列表的格式
[数据1, 数据2, 数据3, 数据4......]
列表特点:
符号为方括号[ ]
数据可以为不同的数据类型出现
列表可以一次性存储多个数据
注:一个列表存储的数据最好是相同的类型
列表的常用操作
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。
查找
下标
name_list = ['Tom', 'Lily', 'Rose'] print(name_list[0]) # Tomprint(name_list[1]) # Lilyprint(name_list[2] ...