python - 函数参数列表中的元组
问题描述
我有旧的 Python 2 代码,其中包含
def __init__(self, (gv_to_python, python_to_gv), values, bgl_type='object') :
在 Python 3 中使用它会产生语法错误(2to3 无法解决此问题)。
这个 Python 2 函数定义的 Python 3 等效项是什么?
解决方案
PEP 3113表示正在删除元组参数。该页面底部的过渡计划建议
其次,2to3 重构工具 [1] 将获得一个修复器 [2],用于将元组参数转换为作为函数中的第一条语句解包的单个参数。新参数的名称将被更改。然后将新参数解压缩为元组参数中最初使用的名称。这意味着以下功能:
def fxn((a, (b, c))): pass
将被翻译成:
def fxn(a_b_c): (a, (b, c)) = a_b_c pass
基本上,将参数更改为单个值,然后将其解压缩到函数体中。
推荐阅读
- javascript - 使用 TypeScript 使用 React Effect Hook
- javascript - 返回函数参数及其默认值
- discord.js - 加入服务器时的不和谐自动角色
- javascript - JavaScript 日期对象在 2021 年 1 月 10 日减去 1 天后未更新月份
- vba - 如何在 If 语句中使用 AND 应用两个条件?
- python - 如何减少pyplot中轴与第一个和最后一个条之间的空间?
- python - 如何在 Python 中测试类方法
- c# - Connection.Execute 不返回有效整数
- python - 如何处理 csv 读取操作中的异常字符
- regex - Regular expression with whitelisted characters and blacklisted keywords (Google forms)