【问题标题】:Tuple in function argument list [duplicate]函数参数列表中的元组 [重复]
【发布时间】:2019-05-20 23:05:33
【问题描述】:

我有旧的 Python 2 代码,其中包含

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

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

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

【问题讨论】:

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


【解决方案1】:

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

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

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

将被翻译成:

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

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

【讨论】:

  • 非常感谢,赫尔穆特
猜你喜欢
  • 2020-12-04
  • 2015-10-07
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多