为什么Python不能在函数中定义元组?

为什么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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程