python函数与模块学习总结
1.python文件操作基础
1.1读文件
- 读文本文件(注意读取模式是按字符还是字节类型获取,字节可用编码转换)
- 读图片等非文本内容文件(用字节模式读取内容)
- 路径相关问题(读文件时,文件不存在程序会报错,不确定可先判断文件路径是否存在再创建)
1.2 写文件
- 写文本文件与图片等文件时需注意写入模式。
- 网络传输的原始二进制信息(bytes)res.content
- 文件不存在时,w模式会新建然后再写入内容;文件存在时,w模式会清空文件再写入内容。
1.3 文件打开模式
- 只读:
r
、rt
、rb
(常用) - 只写:
w
、wt
、wb
(常用) - 只写:
a
、at
、ab
【尾部追加】(常用)- 存在,尾部追加;不存在,创建再写
- 只写:
x
、xt
、xb
(不常用)- 存在,报错;不存在,创建再写
读写:
- r+、rt+、rb+,默认光标位置:起始位置
- w+、wt+、wb+,默认光标位置:起始位置
- x+、xt+、xb+,默认光标位置:起始位置(新文件)
- a+、at+、ab+,默认光标位置:末尾(用seek改变光标位置也依旧会在尾部添加)
1.4 常见功能
-
read,读
- 读所有[常用]
- 读n个字符(字节)(根据文件打开读取模式决定)
-
readline,读一行
-
readlines,读所有行,每行作为列表的一个元素
-
循环,读大文件(readline加强版)【常用】
-
write,写
-
flush,刷到硬盘
- 不是写到了硬盘,而是写在缓冲区,系统会将缓冲区的内容刷到硬盘。
-
seek(),移动光标位置(按字节位数计算,而不是按字符!)
-
tell(),获取当前光标位置(按字节位置返回,而不是按字符!)
1.5 上下文管理
推荐使用with上下问管理,可自动实现关闭文件,免去手动关闭的繁琐;还支持with多个文件同时管理。
with open("xxx.txt",mode='rb)as file_object:
data = file_object.read()
2、python函数知识总结
2.1 函数入门
函数,可以当做是一大堆功能代码的集合。
def 函数名():
函数体
2.1.1 函数的参数
- 形参
- 实参
- 位置传参
- 关键字传参
- 默认传参(位置和关键混合时,关键字传参要在后面)
- 动态参数
- *args 按元组类型可传如多个参数(执行时按位置传参)
- **kwagrs 按字典类型可传入多个参数(执行时按关键字传参)
- 在执行函数时也可以用*和**,作用是将内部数据打散后传入给对应形式动态参数中。
- 注意事项(了解即可):
- 1、** 必须放在 * 的后面
- 2、参数和动态参数混合时,动态参数只能放在最后。
- 3、默认值参数和动态参数同时存在
2.1.2 函数的返回值
- 返回值可以是任意类型,如果没写,默认返回None
- return后面的值如果有逗号,则默认会将返回值转换成元组再返回。
- 函数一旦遇到return就会立即退出函数(终止函数中的所有代码)
2.2 函数进阶
2.2.1 参数的补充
-
参数内存地址相关
- 函数执行传参时,传递的是内存地址。(Python参数这一特性有两好处:)
- 节省内存
- 对于可变类型且函数中修改元素的内容,所有的地方都会修改。可变类型:列表、字典、集合。
- 函数执行传参时,传递的是内存地址。(Python参数这一特性有两好处:)