def test_return():
return 1, "hello", True # 返回的类型不受限
x,y,z = test_return()
print(x)
print(y)
print(z)
"""
结果:
1
hello
True
"""
调用函数时,将根据函数定义时的参数位置,来传递参数
def user_info(name, age, gender):
print(f"Name: {name}, Age: {age}, Gender: {gender}")
user_info("Alice", 25, "Female")
?
调用函数时,可以根据函数定义的参数名称来传递参数,可以任意顺序传递
def user_info1(name, age, gender):
print(f"Name: {name}, Age: {age}, Gender: {gender}")
user_info1(age=20, name="Tom", gender="Male")
# 可以不按照固定的顺序
# 可以与位置参数混用,但是位置参数必须在前
user_info1("Joe", gender="Male", age=22)
调用函数时,如果传递了参数值,则使用传递的参数值,否则使用默认值
def user_info2(name, age=20, gender="Male"):
print(f"Name: {name}, Age: {age}, Gender: {gender}")
user_info2("Alice")
user_info2("Alice", 25)
user_info2("Alice", 25, "Female")
不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数的场景;
作用:当调用函数时,不确定参数的个数,可以使用不定长参数
# 位置传递的不定长 *
def user_info3(*args):
print(args) # 元组的形式
user_info3("Alice", "Bob", "Charlie")
# 关键字传递的不定长 **
def user_info4(**kwargs):
print(kwargs) # 字典的形式
user_info4(name="Alice", age=25, gender="Female")
# 1. 函数作为参数传递
def add(x, y):
return x + y
def apply_func(func, x, y): # 计算逻辑的传递,而非数据的传递
return func(x, y)
result = apply_func(add, 2, 3)
print(result) # 5
# 语法: lambda 传入的参数: 函数体(一行代码)
sum = lambda x, y: x + y
print(sum(2, 3)) # 5