Maison > développement back-end > Tutoriel Python > Que fait la virgule dans les affectations Python comme « x, = ... » ?

Que fait la virgule dans les affectations Python comme « x, = ... » ?

Patricia Arquette
Libérer: 2024-10-29 14:36:02
original
965 Les gens l'ont consulté

 What Does the Comma Do in Python Assignments Like

"x, = ..." en Python est-il l'opérateur virgule ?

En Python, une virgule après les lignes variables dans une affectation Cette déclaration peut susciter des questions sur son objectif. Contrairement à l'intuition, ce n'est pas l'opérateur virgule qui fusionne plusieurs expressions ou séparateurs, mais plutôt un indicateur de décompression d'un tuple à un seul élément renvoyé par l'appel de fonction.

Par exemple, dans l'exemple de code :

<code class="python">line, = ax.plot(x, np.sin(x))</code>
Copier après la connexion

ax.plot() renvoie un tuple contenant un seul objet Line2D. La virgule dans cette ligne décompresse le tuple et attribue l'élément à la ligne variable.

Ce modèle est couramment utilisé lorsqu'il s'agit de fonctions qui renvoient plusieurs valeurs. Prenons l'exemple suivant :

<code class="python">base, ext = os.path.splitext(filename)</code>
Copier après la connexion

Ici, os.path.splitext() renvoie un tuple avec deux éléments, affectés aux variables base et ext.

La virgule dans la cible d'affectation peut être omis lorsque la cible est une liste ou un tuple qui correspond au nombre d'éléments dans le tuple décompressé :

<code class="python">(line,) = ax.plot(x, np.sin(x))</code>
Copier après la connexion

Alternativement, vous pouvez éviter complètement le décompression en accédant directement au premier élément du tuple renvoyé :

<code class="python">line = ax.plot(x, np.sin(x))[0]</code>
Copier après la connexion

L'utilisation du déballage de tuples dans les affectations offre un moyen concis et lisible d'attribuer plusieurs variables à la fois, en particulier lorsqu'il s'agit de fonctions qui renvoient plusieurs valeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal