ホームページ > バックエンド開発 > Python チュートリアル > \'x, = ...\' のような Python 代入でカンマは何をするのでしょうか?

\'x, = ...\' のような Python 代入でカンマは何をするのでしょうか?

Patricia Arquette
リリース: 2024-10-29 14:36:02
オリジナル
964 人が閲覧しました

 What Does the Comma Do in Python Assignments Like

Python の "x, = ..." はカンマ演算子ですか?

Python では、代入の変数行の後のカンマこの声明はその目的についての疑問を引き起こすかもしれない。直観に反して、複数の式や区切り文字をマージするのはカンマ演算子ではなく、関数呼び出しによって返された単一要素タプルのアンパックを示すインジケーターです。

たとえば、コード サンプルでは次のようになります。

<code class="python">line, = ax.plot(x, np.sin(x))</code>
ログイン後にコピー

ax.plot() は、単一の Line2D オブジェクトを含むタプルを返します。この行のカンマはタプルを解凍し、要素を変数行に割り当てます。

このパターンは、複数の値を返す関数を扱うときによく使用されます。次の例を考えてみましょう。

<code class="python">base, ext = os.path.splitext(filename)</code>
ログイン後にコピー

ここで、os.path.splitext() は、変数baseとextに割り当てられた2つの要素を含むタプルを返します。

代入ターゲット内のカンマターゲットが、アンパックされたタプル内の要素の数と一致するリストまたはタプルである場合は省略できます:

<code class="python">(line,) = ax.plot(x, np.sin(x))</code>
ログイン後にコピー

あるいは、返されたタプルの最初の要素に直接アクセスすることで、アンパックを完全に回避することもできます:

<code class="python">line = ax.plot(x, np.sin(x))[0]</code>
ログイン後にコピー

代入でタプルのアンパックを使用すると、特に複数の値を返す関数を扱う場合に、複数の変数を一度に割り当てるための簡潔で読みやすい方法が提供されます。

以上が\'x, = ...\' のような Python 代入でカンマは何をするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート