函数加强
- 
打包 
 函数定义的时候
 按位置参数打包,使用 *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)
来源:CSDN
作者:xtt1005
链接:https://blog.csdn.net/xtt1005/article/details/103758013