函数加强
-
打包
函数定义的时候
按位置参数打包,使用 *args 打包所有的位置参数为一个元组按关键字参数打包, 使用 **kwargs 打包所有的关键字参数为一个字典
什么时候使用打包: 不确定参数的数量的时候
def 函数名(*args,**kwargs):
pass -
拆包
函数调用的时候
特点的情况按位置参数进行拆包, 如果 元组/列表/字典.values() 中数据的顺序和实际参数的顺序是一致的时候,
就可以使用 *元组/列表/字典.values() 进行拆包传递给函数作为实际参数, 好处是不用依次从容器中取.按关键字参数进行拆包, 如果字典中的键就是关键参数的名字, 使用 **字典 对字典进行拆包传递给函数作为实际参数.
函数名(*元组/列表/字典.values())===>函数名(元素1,元素2…)
函数名(**字典) ===>函数名(键=值…)
return返回值加强
-
return作用
a. 返回数据到函数的调用位置
b. 终止函数执行(退出函数) -
返回None
a. 没有return
b. return (后面什么都没有)
c. return None -
返回多个值
return 值1,值2 -
函数中可以有多个return, 需要控制语句控制执行
变量的作用域
两种:
全局变量: 作为范围为任意位置
注意:
1. 访问是任意位置
2. 修改, 函数外可以修改, 函数内 可以间接修改(通过 global 全局变量名 引入全局变量, 再修改)
局部变量: 只能在函数内部使用
如果使用:
1. 如果只在函数中使用, 就使用局部变量, 节约内存资源
python文件操作
-
文件的类型
文本类型: 需要人类能够看的懂(文字), 指定正确的编码
编码:
utf-8
gbk
latin1 (英文)
big5 (繁体)
二进制类型: 直接能够运行的文件就是二进制文件(内容: 二进制) -
文件的作用:
目的 永久的保存数据不丢失 -
文件操作的步骤:
(1): 打开文件
fp = open(文件路径,打开方式,encoding=“编码方式”)
打开方式:
文本操作: r(读) w(覆盖写, 自动创建) a(追加, 自动创建)
二进制操作: rb wb ab (读写追加二进制文件)
(2): 读写文件
读:
fp.read() : 读完
fp.read(number): 读取指定个数字符
fp.readline(): 一次读一行
fp.readlines(): 按行读取所有
写:
fp.write(数据)
fp.writelines([列表]): 写入多条数据(不换行)
(3): 关闭文件
fp.close() -
循环读取文件内容 (解决大文件读取问题)
data = fp.read(1024)
while data: # 其他类型的数据也可以当作布尔值
# 操作data
# 继续读
data = fp.read(1024)