Python – 函数高级使用
多个返回值
Python 支持一次返回多个结果,且返回的类型不受限:
def test():
return 1,"hello",True,["a","b"],...
在接收返回值时,可以使用多个值来接收,对应的位置接收返回的对应值
def test():
return 1,"hello",True,["a","b"],...
a,b,c,d,e,... = test()
多种传参方式
位置参数
调用函数果根据函数定义的参数位置来传递参数,比如:
def test(name, age, gender):
print(f"{name},{age},{gender}")
test("TZMing", 18, "男")
关键字参数
函数调用时通过“键=值”的形式传递参数
可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求
def test(name, age, gender):
print(f"{name},{age},{gender}")
test("TZMing", gender="男", age=18)
注意:位置参数必须在最前面先传递
缺少参数
函数中我们可以预先给参数分配默认参数
def test(name, age=11, gender="男"):
print(f"{name},{age},{gender}")
test("TZMing", age=18)
注意:提供默认值的参数,必须在参数的最后面定义,在未定义默认参数的形参前不能定义默认参数
不定长参数
也叫可变参数,用于不确定调用的时候会传递多少个参数的场景(不传参也可以)
定义不定长参数:
def test(*args):
print(f"{args[0]},{args[1]},{args[2]}")
test("TZMing", 18, "男")
注意:args 将会使用 tuple 元组形式存储
关键字不定长参数
使用关键字的不定长参数传递,使用 ** 来接收,它将把接收到的值以 dict 字典存储
def test(**kwargs):
print(f"{kwargs["name"]},{kwargs["age"]},{kwargs["gender"]}")
test(name = "TZMing", age = 18, gender = "男")
注意:使用关键字不定长参数,需要在传参时声明key,否则会报错。
匿名函数
在Python中,函数也可以作为一个参数传入到另一个函数中
def func(method):
result = method(1,2)
pring(f"{result}")
def compute(num1, num2):
return num1 + num2
func(compute) => 传入一个函数,然后方法会调用传入的方法
lambda 匿名函数
lambda函数,一般是临时使用一次用的
语法: lambda 传入参数: 函数体(一行代码)
- lambda是关键字,表示定义匿名函数
- 传入参数表示匿名函数的形式参数,如:x,y表示接收2个形参
- 函数体,就是函数的执行逻辑,要注意:只能写一行,无法写多行代码
示例如下:
def func(compute):
result = compute(1,2)
pring(f"{result}")
func(lambda x,y : x + y)
共有 0 条评论