为什么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))
阅读更多:Python 教程
极客教程