【Python笔记篇-2】python中函数返回、传参以及匿名函数知识,以及文件处理方法

目录

一、函数返回值

二、函数的多种传参方式 

位置参数:

关键字参数:

缺省参数:

不定长参数:

 练习代码:

 三、匿名函数

四、文件操作

open()打开函数

题目需求:​编辑 ​编辑

实现代码:


 

一、函数返回值

返回多个返回值        

        格式:return 值1,值2,值3

按照返回值的顺序,写对应顺序的多个变量接收即可

变量之间用逗号隔开

支持不同类型的数据返回

def my_return():
    return 1,"你好",'A',True
x , y, z,k = my_return()
print(x)
print(y)
print(z)
print(k)

c20e4e2e50d34bd38be8769bd850a130.png

二、函数的多种传参方式 

位置参数

        调用函数时根据函数定义的参数位置来传递参数

        注意:传递的参数和定义的参数的顺序及个数必须一致

 

关键字参数

        函数调用时通过“键对值”形式传递参数

        作用:可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求

        注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

 

缺省参数:

        缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)

        作用:当调用函数时没有传递参数,就会使用默认是用缺省参数对应的值

        注意:函数调用时,如果为缺省参数传值则修改默认参数值,否则使用这个默认值

 

不定长参数:

        不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景

        作用:当调用函数时不确定参数个数时,可以使用不定长参数
        不定长参数的类型:

1.位置传递——以元组的形式接收参数

注意:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是位置传递 

2.关键字传递 ——以字典的形式接收参数

注意:参数是“键=值”形式的形式的情况下,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典.

 练习代码:

def mass (name,age,gender ="男"):
    print(f"姓名:{name},年龄:{age},性别:{gender}")
# 关键参数、缺省参数
mass("李华",18,"女生")
mass(age=19,name="王五")

# 不定长-位置传递
def test (*args):
    print(args)
test("我","在干嘛","学习")

# 不定长-关键字传递
def test2 (**args):
    print(args)
test2(name ="我",age =18,how ="学习")

39d38a2135b6476b981bbeaa5ce5c4e8.png

 三、匿名函数

函数作为传递参数:传进另一个函数中进行使用

        作用:传入计算逻辑,而非数据的传递

lambda匿名函数:

函数的定义中
def关键字,可以定义带有名称的函数

lambda关键字,可以定义匿名函数 (无名称)

有名称的函数,可以基于名称重复使用;无名称的匿名函数,只可临时使用一次

格式: lambda  传入参数:函数体(一行代码) 

lambda 是关键字,表示定义匿名函数

传入参数表示匿名函数的形式参数,如:xy 表示接收2个形式参数

函数体,就是函数的执行逻辑,要注意:只能写一行,无法写多行代码 

52f0a6da5b0b45d09ffde3a5914d1d13.png

 

四、文件操作

open()打开函数

        语法:open(那么,莫得,encoding)

name:是要打开的目标文件名的字符串(可以包括文件所在的具体路径)

 mode:设置打开文件的模式(访问模式):只读、写入、追加等

        r 模式:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

        w 模式:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除,如果该文件不存在,创建新文件。
        a 模式:打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

encoding:编码格式(一般使用UTF-8)

fbbc84f7a50c4ed08849e790653c1fb3.png

read()方法:

        语法: 文本对象.read(num)

        num表示要从文件中读取数据的长度(字节),若无传入num,则读取所有数据 

readlines()方法:

        按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。 

题目需求:6c1506008abf4442af3aac2b3a74f614.png 6ee36bd2d3384984bf18e32780781663.png

实现代码:

# 打开文件准备读取
fr = open("D:/bill.txt.txt","r",encoding="UTF-8")
# 打开文件得到文件对象,准备写入
fw = open("D:/bill.text","w",encoding="UTF-8")
# for循环读取文件
for line in fr:
    line =line.strip()
    # 判断是否满足
    if line.split(",")[4] == "测试":
        # continue进入下一次循环,这一个后面的内容就跳过了
        continue
    # 将内容写进去
    fw.write(line)
    # 由于前面对内容进行了strip()操作,所以要手动写出换行符
    fw.write("\n")
# 关闭文件
fr.close()
fw.close()

输出结果: 

 6d509799beb9420fa2e0a07125c779dd.png

 

 

注:本人原创,如有问题或者错误可评论或者私信我! 

 

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WuDreamer.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值