零、函数基础
在之前的文章里:
一、多返回值
def test_return():
return 1,2
x,y = test_return()
print(x) #结果1
print(y) #结果2
按照返回值的顺序,写对应顺序的多个变量接受即可
变量之间用逗号隔开
支持不同类型的数据return
二、多种传参方式
- 位置参数:调用函数时根据函数定义的参数位置来传递参数
def user_info(name, age, gender):
print(f"Your name is {name},age is {age}, gender is {gender}")
user_info("Sana", 27, "female")
- 关键字参数:调用时通过“键=值”形式传递参数
函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字之间不存在先后顺序
def user_info(name, age, gender):
print(f"Your name is {name},age is {age}, gender is {gender}")
# 关键字传参
user_info(name="Sana", age=27, gender="female")
# 可以不按照参数的定义顺序传参
user_info(age=29, name="Nayeon", gender="female")
# 位置参数和关键字传参混用
user_info("Dahyun", gender="female", age=25)
- 缺省参数:缺省参数也叫默认参数,用于定义函数,为函数提供默认值,调用函数可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和使用)
作用:当调用参数时没有传递参数,就会使用默认是缺省参数对应的值
def user_info(name, age, gender="male"):
print(f"Your name is {name},age is {age}, gender is {gender}")
user_info("JYP", 50)
user_info("HEEJIN", 50, "female")
- 不定长参数:不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景
作用:当调用函数时不确定参数个数时,可以使用不定长参数
不定长参数的类型
位置传递:
def user_info(*args):
print(args)
user_info("JYP")
user_info("JYP", 2015)
传进去的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组,args是元组类型,这就是位置传递
关键字传递:
def user_info(**kwargs):
print(kwargs)
user_info(name="JYP")
user_info(name="JYP", year=2015)
参数是“键=值”形式的情况下,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典
三、匿名参数
- 函数作为参数传递
def test_func(compute):
result = compute(1, 2)
print(result)
def compute(x, y):
return x + y
test_func(compute)
这是一种计算逻辑的传递,而非数据的传递。
- lambda匿名函数
lambda关键字,可以定义匿名函数(无名称),只可临时使用一次
lanbda 传入参数:函数体(一行代码)
注意:函数体只能写一行代码
def test_func(compute):
result = compute(1, 2)
print(result)
test_func(lambda x, y: x + y)
匿名函数用于临时构建一个临时函数,只用一次的场景
标签:info,进阶,Python,gender,age,name,参数,user,函数 From: https://blog.csdn.net/m0_74301063/article/details/136968601