Python中的异域函数签名是什么?

Han*_*Gay 3 python

我最近看到了对"异国签名"引用以及它们在2.6中被弃用的事实(并在3.0中被删除).给出的例子是

def exotic_signature((x, y)=(1,2)): return x+y
Run Code Online (Sandbox Code Playgroud)

是什么让这成为"异国情调"的签名?

Fog*_*ird 6

奇怪的是,x和y表示单个函数参数,它被解压缩为两个值... x和y.它相当于:

def func(n):
    x, y = n
    ...
Run Code Online (Sandbox Code Playgroud)

这两个函数都需要一个包含两个元素的参数(list或tuple).


tru*_*ppo 6

有关元组参数解包的详细信息(及其删除原因),请访问:http: //www.python.org/dev/peps/pep-3113/