2013-06-11 9 views
5

私はPythonに参加しようとしており、アスタリスクに関する質問がありました。アスタリスクが関数呼び出しの外にある

first, *middle, last = grades

次のような変数にそれらを開梱、5つの等級のタプルで、例えば言う(私は彼らが関数呼び出しの引数のために使用されていることを知っているが、私は機能カードの外にそれらを使用してコードのスニペットを見てきました

私は/この文脈では、関数呼び出しの引数のうちコンテキストをアスタリスクを使用しようとするたびに、私は通訳に無効な構文を取得しますが。私はここで何かが足りないのですか?

答えて

10

のPython 3はのサポートを開梱拡張タプルを追加しましたワイルドカード、PEP 3132

ターゲットリストはアスタリスクが付いつのターゲットが含まれている場合は、「主演」のターゲットと呼ばれ、

::オブジェクトが存在し、少なくともできるだけ多くの項目を持つシーケンスでなければなりません

*start, tail = ... 
head, *middle, tail = ... 

assignment statementsリファレンスマニュアルを参照してくださいターゲットリストのターゲットから1を引いたものです。シーケンスの最初の項目は、左から右に、スター付きターゲットの前のターゲットに割り当てられます。シーケンスの最後の項目は、スター付きターゲットの後のターゲットに割り当てられます。次に、シーケンス内の残りの項目のリストが星印付きターゲットに割り当てられます(リストは空白にすることができます)。割り当てのLEF-手元側(ターゲットリスト)内のアスタリスクの

使用は、2

Pythonでの構文エラーです
関連する問題