python学习(6)文件操作、函数
一、文件操作
1、读 2、写
文件操作的三个步骤:
1、打开文件
2、操作文件 (针对文件的读和写)
3、关闭文件 (文件必须要关闭,否则会出现内存泄漏问题)
【当文件使用的内存量超过系统本身的内存资源时就会出现内存泄漏】
二、文件的具体操作
1.函数特性:
1.1 函数有参数 y=f(x) x是函数f的参数
2. open()函数:
A.作用:io操作文件
B.参数:
-file:指的是被操作的文件
-mode:通过什么方式操作文件(读还是写?)
a:追加
w:写文件内容
r:读取文件内容
-encoding:编码(utf-8,gbk) (utf-8可以狭义理解为对中文支持非常好,乱码的时候加)
2.1写的操作:
即使没有文件,open内部会自动创建一个文件,然后把写的内容写进去。
a:追加 (在原内容之上写入新的内容)
w:如果文件有内容,会清空再写。
例1:文件操作的三个步骤:打开、操作、关闭
第一步打开文件:定义文件、操作、编码(乱码的时候加)
第二步写入内容
第三步关闭文件


例2:多行写入(data是个变量,writelines是按行写入)


1、文件存在,那么从文件中读取操作
2、文件不存在,会报FileNotFoundError的错误信息,如[Errno 2] No such file or directory
例1:文件操作的三个步骤:打开、操作、关闭
第一步打开文件:文件、操作、(编码) ——open里面的是简写模式,编码不能简写
第二步读取内容 ——读要搭配输出
第三步关闭文件

例2:读取文件第一行

例3:按行读取文件的所有内容

2.3自定义文件目录
(读和写的操作没有定义文件目录时,都默认的是在当前文件目录下操作)

2.4 with上下文 (操作的另一种方式)
它内部可以对文件进行关闭,这样避免了操作文件忘记关闭。
注意:第二行的缩进。
用with 给open( )起别名为f,不用定义变量,也不用关闭文件那一步了。
读:

写:

三、函数
所谓函数,就是把重复的代码单独的分离出来,放在⼀个公共的地⽅,以后可以⼀直的进⾏调⽤,这样就可以解决多次重复来编写。
1.函数定义:使用的关键字是def
def 函数名称(函数的形参):
函数表达式
形式参数:形参,函数里面的参数叫形式参数。
实际参数:实参,函数被调用的时候,给函数赋予的值叫实际参数。
2.函数调用:
函数写完后,必须要经过调用才可以生效,如果不调用,不会生效
2.1调用函数的方式是:
函数名称( )
2.2函数调用注意事项:
1、函数在调用的时候,可以填写形式参数,也可以不填写。调用的时候写形式参数,就必须填写实际参数。
调用填写形式参数: add(a=3,b=6)
2、函数在调用的时候,如果不填写形式参数,填写的实际参数要与函数定义时的形式参数的顺序、个数保持一致。
调用不填写形式参数: add(3,6)
3、如果函数在定义的时候没有写形式参数,那么调用的时候就不用写形式参数。()

a.登录函数
(if逻辑判断,判断出登录成功和失败的情况。输入实参调用函数,查看结果。)
调用函数不输入形参:

调用函数输入形参:

步骤:(打开文件→把读取的内容用逗号拆分,并且定义给data→获取列表索引为0的

四、默认参数和动态参数
1.默认参数:在定义函数的时候给形式参数指定了参数的值。(默认参数不能放在非默认参数前面)
①调用函数时,如果没有传递参数,则会使用默认参数。
以下实例中如果没有传入 password 参数,则使用默认值:


②调用函数时,如果传递新参数,则使用新参数:

√2.动态参数:定义一个函数的时候,当函数的参数不确定的时候使用:
*:代表元组的数据类型,加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
**:代表字典的数据类型
如果同时有*args和**kwargs,*args要放在**kwargs前面
*args:
*args用来将参数打包成tuple(元组)给函数体调用。不确定实参的数据类型和个数,使用 *,都会输出为元组类型(元组种的元素可以是列表、字典、元组)


** kwargs:
**kwargs 打包关键字参数成dict(字典)给函数体调用。调用的时候必须写成下面这两种格式:
一种是带等号的格式(key=value),可以转为字典类型;另一种是字典前面带俩星号。






浙公网安备 33010602011771号