You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何定义二元组对为参数的函数?解决元组参数解包报错问题

报错原因

Python 3 已移除函数形参位置直接解包元组的语法,你之前写的def distance_points((x1, y1), (x2, y2))是Python 2支持的写法,在Python 3环境运行就会触发对应的报错。

修复方案

方案1:函数体内手动解包(最推荐,改动最小、可读性最高)

无需修改函数调用逻辑,仅调整函数内部实现即可,和你原始代码的预期逻辑完全一致:

def distance_points(p1, p2):
    x1, y1 = p1
    x2, y2 = p2
    dist = ((x1 - x2)**2 + (y1 - y2)**2)** 0.5
    return dist
print(distance_points((1.0, 1.0), (2.0, 1.0)))

运行后输出结果为1.0,符合预期。

方案2:直接通过索引访问元组元素(写法更简洁)

如果不需要单独命名坐标变量,可以直接通过下标访问元组的两个元素,省略解包步骤:

def distance_points(p1, p2):
    return ((p1[0] - p2[0])**2 + (p1[1] - p2[1])**2)**0.5

内容的提问来源于stack exchange,提问作者Zhuānjiā

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:36:03