为什么 Python 无法在一个函数中定义元组?
自 Python 3.0 之后,就不再可以在函数内定义元组解包作为参数(PEP 3113)。这意味着如果你尝试按以下方式定义函数——
def fn(a,(b,c)): pass
Python 解释器会在元组的第一个括号处显示语法错误。相反,定义元组对象作为参数,并在函数内部解包。在以下代码中,表示两个点 x 和 y 坐标的两个元组对象被传递为参数以计算两个点之间的距离。在计算之前,元组对象会被解包到各自的 x 和 y 坐标中。
def hypot(p1,p2):
x1,y1=p1
x2,y2=p2
import math
hyp=math.sqrt((x1-x2)**2+(y1-y2)**2)
return hyp
x=(10,10)
y=(20,20)
print ("hyp=",hypot(x,y))
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP