一、推导式
1.列表推导式
作用:用一个表达式创建一个有规律的列表或控制一个有规律的列表
list=[i for i in range(10)]
print(list)
list=[i for i in range(10) if i % 2 == 0]
print(list)
list=[(i,j) for i in range(1,3) for j in range(3)]
print(list)
2.字典推导式
{xx1:xx2 for ... in....}
3.集合推导式
{xx for xx in ....}
二、函数的使用步骤
1.定义函数
def 函数名(参数):
代码1
代码2
代码3
2.调用函数
函数名(参数)
注:参数可有可无,函数必须先定义后使用
3.函数的返回值
return 表达式
4.函数的说明文档
语法:def 函数名(参数):
"""说明文档的位置"""
代码
查看函数的说明文档
help(函数名)
5.函数嵌套调用:是一个函数里面调用了另外一个函数
三、函数
1.变量作用域:变量生效的范围,主要分为两类:局部变量和全局变量
局部变量:是定义在函数体内部的变量,只在函数体内部生效
全局变量:指的是在函数体内和外都生效的变量。global info 声称info是全局变量
四、函数的参数
1.位置参数:调用函数时根据函数定义的参数位置来传递参数
2.关键字参数:通过键=值的形式加以指定
注:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序
3.缺省参数(默认参数):用于定义函数,为参数提供默认值,调用函数时可不传默认参数的值
注:所有位置参数必须出现在默认参数前,包括函数定义和调用
4.不定长参数(可变参数):用于不确定调用的时候会传递多少个参数(不传参也可以)
包裹位置传递
def a(*args):
print(args)
包裹关键字传递
def a(*kwargs):
print(kwargs)
注:包裹位置传递和包裹关键字传递都是一个组包的过程
五、拆包和交换变量值
1.拆包:元组
def are():
return 10,20
a,b=are()
print(a)
print(b)
2.拆包:字典
dict1={"name":"tom","age":18}
a,b=dict1
print(a)
> name
print(dict1[a])
> tom
print(b)
> age
print(dict1[b])
> 18
3.交换变量值
借助第三变量存储数据
c=0
c=a
a=b
b=c
a,b=1,2
a,b=b,a
六、引用
用id可以判断两个变量是否为同一个值的引用
七、可变和不可变类型
可变:列表、字典、集合
不可变:整型、浮点型、字符串、元组
八、递归:函数内部自己调用自己,必须有出口
九、lambda表达式:若一个函数有一个返回值,并且只有一句代码,可使用lambda简化
语法:lambda 参数列表:表达式
注:lambda表达式的参数可有可无,函数的参数在lambda中完全适用
lambda表达式能接收任何数量的参数但只能返回一个表达式
fn1=lambda:100
fn2=lambda a,b :a+b
1.lambda参数形式
无参数:lambda:100
一个参数:lambda a:a
默认参数:lambda a,b,c=100:a+b+c
可变参数:lambda *args:args
可变参数传入到lambda之后,返回值元组
2.lambda的应用
带判断的lambda:fn1=lambda a,b:a if a>b else b
列表数据按字典key值排序
十、高阶函数:把函数作为参数传入
1.绝对值 abs()
2.对数字的四舍五入计算round()
3.map(func,lst):将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回
4.reduce(func,lst):其中func必须有两个参数,每次func计算的结果继续和序列的下一个元素做累积计算。
5.filter(func,lst):用于过滤不符合条件的元素,返回一个filter对象。若要转换为列表可以使用list()来转换
十一、文件操作
1.打开文件:open(name,mode)
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置打开文件的模式(访问模式):只读、写入、追加等
2.文件对象方法
写:对象.write(‘内容’)
例子:
f = open("test.txt","w")
f.write("hello")
f.close()
注:w和a模式:若文件不存在则创建该文件,若存在,w模式先清空再写入,a模式直接末尾追加。
r模式:若文件不存在则报错
读:文件对象.read(num)
num:表示要从文件中读取的数据长度(单位字节),若没有传入num,则读取全部文件中所有的数据
readlines():按照行的方式把整个文件的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据作为一个元素
readline():一次性读取一行内容
3.seek()
作用:用来移动文件指针
语法:文件对象.seek(偏移量,起始位置)
0:文件开头
1:当前位置
2:文件结尾
4.关闭
文件对象.close()
5.文件备份:备份文件名[备份]后缀
test[备份].txt
6.文件和文件夹的操作
导入os模块 import os
使用os模块相关功能 os.函数名()
文件重命名:os.rename(目标文件名,新文件名)
删除文件:os.remove(目标文件名)
创建文件夹:os.mkdir(文件夹名字)
删除文件夹:os.rmdir(文件夹名字)
获取当前目录:os.getcwd()
改变默认目录:os.chdir(目录)
获取目录列表:os.listdir(目录)
python 第四部分函数(学习笔记)
最新推荐文章于 2024-09-25 09:59:34 发布