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

Patricia Arquette
Libérer: 2024-11-20 19:32:15
original
289 Les gens l'ont consulté

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()
Copier après la connexion

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)
Copier après la connexion

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}
Copier après la connexion

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!

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