Maison  >  Article  >  développement back-end  >  Comment puis-je renvoyer plusieurs valeurs à partir d'une fonction Python ?

Comment puis-je renvoyer plusieurs valeurs à partir d'une fonction Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-20 19:32:15292parcourir

How Can I Return Multiple Values from a Python Function?

Renvoi de plusieurs valeurs à partir de fonctions en Python

En Python, les fonctions renvoient généralement une seule valeur. Cependant, dans certains scénarios, vous devrez peut-être renvoyer plusieurs valeurs.

Pour renvoyer plusieurs valeurs à partir d'une fonction, vous ne pouvez pas simplement utiliser plusieurs instructions de retour. Au lieu de cela, vous pouvez envisager plusieurs techniques :

Tuples et listes :

Une option consiste à renvoyer un tuple ou une liste contenant les valeurs que vous souhaitez renvoyer. Vous pouvez ensuite décompresser le tuple ou la liste après l'appel de la fonction. Par exemple :

def select_choice():
    # ... previous code here
    return i, card  # or [i, card]

my_i, my_card = select_choice()

En renvoyant un tuple ou une liste, les valeurs renvoyées sont stockées dans des variables distinctes.

Tuples nommés :

Si vous envisagez de renvoyer plus de deux valeurs, envisagez d'utiliser un tuple nommé. Cela vous permet d'accéder aux valeurs renvoyées par leurs attributs nommés, améliorant ainsi la lisibilité.

from collections import namedtuple

ChoiceData = namedtuple('ChoiceData', 'i card other_field')

def select_choice():
    # ... previous code here
    return ChoiceData(i, card, other_field)

choice_data = select_choice()

# access values via attributes
print(choice_data.i, choice_data.card)

Dictionnaires :

Le retour d'un dictionnaire est également possible, vous permettant de nommer les valeurs renvoyées et y accéder par leurs clés :

def select_choice():
    # ... previous code here
    return {'i': i, 'card': card, 'other_field': other_field}

Classes d'utilitaires personnalisées :

Pour des scénarios plus complexes, envisagez de créer une classe d'utilitaire ou une classe Pydantic/dataclass instance de modèle pour envelopper vos données renvoyées, offrant validation et encapsulation.

En comprenant ces techniques, vous pouvez renvoyer efficacement plusieurs valeurs à partir de fonctions en Python, améliorant ainsi la flexibilité et la convivialité de votre 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