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))