Modèles de type de retour
Stratégies courantes de type de retour
Les modèles de type de retour aident les développeurs à concevoir des fonctions plus prévisibles et flexibles en mettant en œuvre des approches cohérentes pour renvoyer des valeurs.
Retour d'une seule valeur
def calculate_square(number: int) -> int:
return number ** 2
def get_username(user_id: int) -> str:
return f"user_{user_id}"
Retour de plusieurs valeurs
def get_user_info(user_id: int) -> tuple:
return (user_id, "John Doe", 25)
def divide_numbers(a: int, b: int) -> tuple[int, bool]:
if b == 0:
return 0, False
return a // b, True
Modèles de retour conditionnel
def validate_age(age: int) -> str:
if age < 0:
return "Invalid"
elif age < 18:
return "Minor"
else:
return "Adult"
Stratégies de type de retour
Modèle |
Description |
Cas d'utilisation |
Un seul type |
Type de retour cohérent |
Calculs simples |
Plusieurs types |
Retour flexible |
Gestion d'erreurs |
Conditionnel |
Retours différents |
Logique complexe |
Optionnel |
Retours pouvant être nuls |
Données potentielles manquantes |
Modèles avancés de retour
from typing import Union, Optional
def process_data(data: list) -> Union[int, str, None]:
if not data:
return None
if all(isinstance(x, int) for x in data):
return sum(data)
return "Mixed data types"
Flux du type de retour
graph TD
A[Entrée de fonction] --> B{Validation}
B -->|Valide| C[Traiter les données]
B -->|Non valide| D[Gérer les erreurs]
C --> E[Déterminer le type de retour]
D --> F[Retourner une erreur/valeur par défaut]
Meilleures pratiques
- Être cohérent avec les types de retour
- Gérer les cas limites
- Utiliser efficacement les indications de type
- Mettre en œuvre une gestion d'erreurs claire
LabEx recommande d'adopter ces modèles de type de retour pour créer un code Python plus robuste et maintenable.