我有包含的旧Python 2代码
def __init__(self, (gv_to_python, python_to_gv), values, bgl_type='object') :
在Python 3中使用它会产生语法错误(2to3无法解决此问题)。
此Python 2函数定义的Python 3等效项是什么?
答案 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
基本上,将参数更改为单个值,并将其解压缩到函数主体中。