函数参数列表中的元组

时间:2018-12-20 12:10:36

标签: python python-3.x list arguments tuples

我有包含的旧Python 2代码

def __init__(self, (gv_to_python, python_to_gv), values, bgl_type='object') :

在Python 3中使用它会产生语法错误(2to3无法解决此问题)。

此Python 2函数定义的Python 3等效项是什么?

1 个答案:

答案 0 :(得分:2)

PEP 3113表示正在删除元组参数。该页面底部的过渡计划建议

  

第二,2to3重构工具[1]将获得修复程序[2]   将元组参数转换为单个参数,即   解压缩为函数中的第一条语句。新名称   参数将被更改。然后将解压缩新参数   转换为元组参数中最初使用的名称。这意味着   以下功能:

def fxn((a, (b, c))):
    pass
     

将被翻译为:

def fxn(a_b_c):
    (a, (b, c)) = a_b_c
    pass

基本上,将参数更改为单个值,并将其解压缩到函数主体中。