一、函数返回多个返回值
在函数中 , 如果要 返回 多个返回值 , 可以 在 return 语句中 , 设置多个返回值 , 这些返回值之间使用 逗号 隔开 , 这些返回值的类型是 元组 tuple 类型的 ;
在下面的代码中 , 返回了 3 个返回值 , 其 本质上是返回了一个包含 3 个元素的 元组 数据容器 , 可以使用多重赋值将返回的值分别赋给 x、y、z 三个变量 ;
代码语言:javascript复制def multiple_return():
a = 1
b = 2
c = 3
return a, b, c
x, y, z = multiple_return()
print(x, y, z)
代码示例 :
代码语言:javascript复制"""
函数多返回值 代码示例
"""
def multiple_return():
a = 1
b = 2
c = 3
return a, b, c
# 接收返回的多个值 元组
result = multiple_return()
# 返回值: (1, 2, 3), 返回值类型: <class 'tuple'>
print(f"返回值: {result}, 返回值类型: {type(result)}")
# 多重赋值
x, y, z = multiple_return()
# 1 2 3
print(x, y, z)
执行结果 :
代码语言:javascript复制返回值: (1, 2, 3), 返回值类型: <class 'tuple'>
1 2 3
二、函数参数传递类型
函数参数传递类型 :
- 位置参数 : 函数 调用时 按照参数在函数 定义时 的位置进行传递 ; ( 形参 和 实参 顺序 和 个数 必须一一对应 )
- 关键字参数 : 函数 调用时 使用 " 键 = 值 " 的形式 , 传入参数 ;
- 缺省参数 :
- 不定长参数 :
1、位置参数
在 函数定义时 定义了 " 位置参数 " , 那么调用该函数时 , 传入的参数 必须 按照 参数在函数定义的位置进行传递 ;
定义时 形参参数 与 调用时 传递的实参参数 的 顺序 和 个数 必须一致 ;
如果 传递的参数 次序 或者 个数 错了 , 那么编译时就会报错 ;
代码示例 :
代码语言:javascript复制"""
函数多返回值 代码示例
"""
def info(name, age):
print(f"{name} is {age} years old")
# Tom is 16 years old
info('Tom', 16)
执行结果 :
代码语言:javascript复制Tom is 16 years old
2、关键字参数
关键字参数 是 在 函数调用时 , 通过传入 " 键 = 值 " 的方式 传入实参 ;
传递参数时 , 不需要按照顺序传递 ;
使用 该 " 关键字参数 " 传递参数 可以让 函数调用 更加清晰 ;
关键字参数 与 位置参数 可以 混合使用 ;
特别注意 : 如果 关键字参数 与 位置参数 混合使用 , 位置参数 必须放在 关键字参数 前面 , 位置参数 顺序 与 个数 必须一致 , 关键字参数 不要求顺序一致 ;
代码示例 :
代码语言:javascript复制"""
函数多返回值 代码示例
"""
def info(name, age):
print(f"{name} is {age} years old")
# 关键字传递参数 - 按照顺序传递参数
# Jerry is 18 years old
info(name='Jerry', age=18)
# 关键字传递参数 - 不按照顺序传递参数
# Jerry is 18 years old
info(age=18, name='Jerry')
# 关键字传递参数 - 位置参数 与 关键字参数 混合使用
# Trump is 80 years old
info('Trump', age=80)
执行结果 :
代码语言:javascript复制Jerry is 18 years old
Jerry is 18 years old
Trump is 80 years old