「line, = ...」の末尾のカンマはカンマ演算子ですか?
Python では、変数行の後のカンマは重要な意味。これは、各要素が左側の対応する変数に割り当てられて、タプルがアンパックされていることを示します。
1 つの要素を持つタプルのアンパック
次のコードを考えてみましょう。
<code class="python">line, = ax.plot(x, np.sin(x))</code>
ここで、ax.plot() は、Line2D オブジェクトである単一の要素を含むタプルを返します。カンマは、Python にこのタプルを解凍し、その要素を変数行に割り当てるように指示します。
複数の変数を使用した例
通常、複数の戻り値を持つ関数にはアンパックを使用します。 :
<code class="python">base, ext = os.path.splitext(filename)</code>
このコードは、os.path.splitext() によって返されたタプルを解凍し、その要素を変数 base と ext に割り当てます。
カンマ解凍の代替手段
カンマ展開は便利ですが、別の構文もあります:
解凍せずに書き換えます
あなたタプル解凍を使用せずにコードを書き直すこともできます:
<code class="python">line = ax.plot(x, np.sin(x))[0]</code>
または
<code class="python">lines = ax.plot(x, np.sin(x)) def animate(i): lines[0].set_ydata(np.sin(x+i/10.0)) # update the data return lines #Init only required for blitting to give a clean slate. def init(): lines[0].set_ydata(np.ma.array(x, mask=True)) return lines</code>
結論
「line, =」の末尾のカンマ..." はカンマ演算子ではなく、1 つの要素を含むタプルを解凍するための構文です。この手法は、戻り値を複数の変数に簡潔に割り当てるために広く使用されています。
以上がPython の「line, = ...」の末尾のカンマは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。