python - 将 python 元组放在函数签名中

标签 python python-2.7 pattern-matching tuples function-signature

在 Python 中,有一个有趣且非常有用的工具,您可以使用它对函数签名上的元组值进行模式匹配。

def first((a, b)):
    return a

x = (4, 9)
first(x)
li = [(5, 4), (8, 9)]
map(first, li)

def second(a, b):
    # does not work the same way
    return b

我没有看到任何关于使用它的文献。 python 社区为此使用的词汇是什么?是否有令人信服的理由不使用它?

最佳答案

它叫做 tuple parameter unpacking并且是removed in Python 3.0 .

正如@zondo 所说,出于兼容性原因,您可能不想使用它。我自己仍然偶尔在 Python 2 中使用它。您会在我的第一个链接的 PEP 中找到反对它的理由,但请记住,这些是它从语言中删除的原因,我认为这至少部分是因为它让 Python 开发者的工作变得更容易,这不一定是你或我避免使用它的理由。

关于python - 将 python 元组放在函数签名中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615939/

相关文章:

python - 匹配两个文件之间的行并标记匹配的字符串

Python Regex bool 值 'or' 不选择所有匹配项

python - 如何在odoo 9中创建自动增量字段

python - Python 的 filter(function, iterable) 的 C 等价物是什么?

python-2.7 - 如何在屏幕上显示 vtk 3D 轴?

regex - 在纸张输入十进制数时使用什么模式?

python - Python 的最佳客户端 LDAP API 是什么?

python - Pandas - 使用 itertuples 创建列

python - python pip 是否具有与 Node 的 package.json 等效的功能?

python - 在 python 中不使用 Regex 算法和代码进行模式搜索