在 Python 中,元组(tuple) 在函数参数里的应用非常常见,主要体现在 参数传递、拆包、可变参数、返回值 等几个方面。下面系统地讲一下。
def show(t):
print(t)
t = (1, 2, 3)
show(t)
输出:
(1, 2, 3)
✅ 元组本身参数对象传入函数。
def add(a, b, c):
return a + b + c
t = (1, 2, 3)
print(add(*t))
⚠️ *t 表示把元组拆成位置参数
等价于:
add(1, 2, 3)
def func(a, b, c):
print(a, b, c)
t = (10, 20, 30)
func(*t)
✅ 常用于:
*args 接收多个参数,本质是元组def func(*args):
print(args)
print(type(args))
func(1, 2, 3)
输出:
(1, 2, 3)
<class 'tuple'>
✅ 特点:
args 在函数内部是 元组def func(a, *args):
print(a)
print(args)
func(1, 2, 3, 4)
输出:
1
(2, 3, 4)
def get_point():
return 3, 4 # 等价于 (3, 4)
p = get_point()
print(p)
print(type(p))
输出:
(3, 4)
<class 'tuple'>
✅ 接收方式:
x, y = get_point()
print(x, y)
✅ 正确示例:
def func(t=(1, 2)):
print(t)
func()
❌ 不推荐可变默认参数:
def func(t=()):
pass
✅ 元组是不可变的,比列表更安全。
| 类型 | 语法 | 类型 |
|---|---|---|
| 位置参数 | func(1,2) |
— |
| 可变位置参数 | *args |
tuple |
| 可变关键字参数 | **kwargs |
dict |
def func(*args, **kwargs):
print(args)
print(kwargs)
func(1, 2, 3, a=4, b=5)
输出:
(1, 2, 3)
{'a': 4, 'b': 5}
✅ 批量传参
args = (3, 4)
pow(*args)
✅ 返回多个结果
def min_max(nums):
return min(nums), max(nums)
✅ 配置参数统一传递
config = (8080, "localhost")
start_server(*config)
✅ 保证数据不可变
def func(point):
x, y = point
*元组在函数参数中主要用于:拆包传参、args 可变参数、函数多返回值,以及保证参数不可变。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。