7

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 コミュニティがこれに使用する語彙は何ですか? これを使用しないやむを得ない理由はありますか?

4

3 に答える 3

8

これはタプル パラメーターのアンパックと呼ばれ、Python 3.0 で削除されました

@zondo が言ったように、互換性の理由から使用したくない場合があります。私自身、まだ Python 2 で時々使用しています。私の最初のリンクの PEP に反対の理由がありますが、それが言語から削除された理由であることを覚えておいてください。少なくとも部分的には、これは Python 作成者にとって物事を容易にしましたが、それは必ずしもあなたや私がそれを避ける理由ではありません。

于 2016-02-25T00:31:15.293 に答える
2

Python2 では、それは素晴らしいことです。ただし、Python3 では無効な構文であるため、上位互換性の理由からお勧めしません。

于 2016-02-25T00:31:52.500 に答える