Maison  >  Article  >  développement back-end  >  Comment les fonctions Python peuvent-elles renvoyer plusieurs valeurs ?

Comment les fonctions Python peuvent-elles renvoyer plusieurs valeurs ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-22 07:57:10576parcourir

How Can Python Functions Return Multiple Values?

Renvoi de plusieurs valeurs à partir de fonctions Python

En Python, une fonction ne peut renvoyer qu'une seule valeur. Cependant, il existe plusieurs façons de renvoyer efficacement plusieurs valeurs à partir d'une fonction.

Renvoyer un tuple

Les tuples sont des séquences immuables qui peuvent contenir n'importe quel nombre de valeurs. Pour renvoyer un tuple à partir d'une fonction, utilisez simplement l'instruction return suivie des valeurs entre parenthèses ou séparées par des virgules. Par exemple :

def get_coordinates():
    x = input("Enter the x-coordinate: ")
    y = input("Enter the y-coordinate: ")
    return x, y

Lorsqu'elle est appelée, cette fonction renverra un tuple contenant les coordonnées x et y. Vous pouvez attribuer ces valeurs à des variables distinctes comme suit :

x, y = get_coordinates()

Renvoi d'une liste

Les listes sont des séquences mutables qui peuvent également être utilisées pour renvoyer plusieurs valeurs à partir d'une fonction. La syntaxe est similaire au renvoi d'un tuple, mais les valeurs sont placées entre crochets.

def get_stats():
    mean = calculate_mean()
    median = calculate_median()
    return [mean, median]

Pour attribuer les valeurs renvoyées à des variables séparées, utilisez la syntaxe suivante :

mean, median = get_stats()

Utilisation d'une classe personnalisée ou NamedTuple

Si vous devez renvoyer plusieurs valeurs liées, vous pouvez créer une classe personnalisée ou utiliser un NamedTuple pour encapsuler les données. Cette approche peut améliorer la lisibilité et la maintenabilité du code.

from dataclasses import dataclass

@dataclass
class Coordinates:
    x: float
    y: float
    
def get_coordinates():
    x = input("Enter the x-coordinate: ")
    y = input("Enter the y-coordinate: ")
    return Coordinates(x, y)

coordinates = get_coordinates()
print(f"X-coordinate: {coordinates.x}, Y-coordinate: {coordinates.y}")

Conclusion

Il existe plusieurs façons de renvoyer plusieurs valeurs à partir d'une fonction Python. La meilleure approche dépend du cas d'utilisation spécifique et de la structure de données souhaitée. Les tuples et les listes sont des options simples et pratiques, tandis que les classes personnalisées et NamedTuples offrent plus de flexibilité et d'organisation du code.

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!

Déclaration:
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