第十天
一、函数的作用
二、函数的使用
三、函数说明文档
四、函数的作用域
五、不定长位置参数(可变参数)
六、拆包和交换变量的值
七、引用
第十二天 递归
一、递归
二、lambda表达式
三、高阶函数
第十三天 文件
一、文件操作的作用
二、文件操作的基本方法
三、文件备份
四、文件和文件夹的操作
独立功能的代码块,更高效的实现代码重用
1、定义函数:def 函数名(参数或空):
代码体
2、调用函数:函数名(参数)
3、函数的参数作用
1.定义方法
def 函数名(参数):
“”“ 说明文档(注意:必须在定义函数的第一行)”“”
代码
2.查看方法
help(函数名)
1、局部变量
定义在函数体内部的变量,即只在函数体内部生效
2、全局变量
不定义在任何函数中,若想在函数体内修改全局变量,格式:global 全局变量名在重新对变量赋值就行
3、返回值
当定义函数需要多个返回值,格式:return 返回值1,返回值2
注意:①返回的结果是元组
②返回的可以是元组、列表、字典
a:元组格式:return 10,20 或return (10,20)
b:列表格式:return [10,20]
c:字典格式:return {10:20}
1、由于不确定调用的时候会传递多少个参数的场景
格式: def 参数名(*args)
调用:参数名(参数1,参数2,参数3…)
2.包裹关键字传递
格式:def 参数名(**kwargs)
收集所有关键字参数,返回一个字典
1、拆包
2、交换变量的值
变量1=变量2,变量2=变量1
1、可以使用id()来判断两个变量是否为同一个值的引用
2、列表是可变类型,修改后修改内存中的元素值
3、可变数据类型:
列表、字典、集合(修改时,修改原数据)
不可变数据类型:
整形、浮点型、字符串、元组
递归算法注意要有递归出口,如果没有出口,可能陷入多次递归
1、作用:如果一个函数只有一个返回值且只有一句代码,则可以使用lambda化简,其主要作用是化简代码
2、格式: lambda 参数列表:表达式 (表达式必须有返回值)
3、注意:lambda能接受任何数量的参数,但只能返回一个表达式的值
4、输出:
5、传入多值:
1、高阶函数就是将函数作为参数传入
a:求绝对值函数abs,四舍五入函数round
2、内置高阶函数
a . map(func,list):将传入的函数变量func作用到list每个变量的元素中,并将结果组成新的列表返回。
b.reduce(func,list),其中func函数必须有两个参数,每次func计算的结果继续和序列的下一个元素做累积计算
c.filter(),过滤掉序列中不符合条件的数
读取内容、写入内容、备份内容,即为将数据存储起来,方便使用
注意:读写文件要记得关闭文件
1、打开文件
格式:open(所要打开文件名的字符串/路径,文件的访问模式)
访问模式:
①只读r:没有该文件则报错
r+:没有该文件,不会报错
②写入w:没有文件,则会报错;文件指针在开通,用新内容覆盖原文件内容
w+:没有文件,则会新建文件
若访问模式省略,则默认访问模式为r
2、读写文件
a:读操作-read()
如果不写,默认读写所有的元素
readlines()和readline()函数:
b:写操作——write()
c:追加
3、关闭close()
3、移动文件指针
格式:文件对象.seek(偏移量,起始位置)
起始位置中0代表开头 1代表当前位置,2代表结尾
1、步骤:接收用户收日的文件名→规划备份名→将备份文件中写入数据
2、
优化:防止用户输入文件名不合法,eg:.txt
1、对文件和文件夹的操作要借助OS模块,方法
①导入模块 import os
②使用模块相关功能:os.函数名()
2、重命名:os.rname()
3、移除
4.创建文件夹
5、删除文件夹
6、获取当前文件夹所在目录路径
7、改变文件路径
8、获取一个文件夹下所有文件
9、重命名文件夹