Mise en œuvre de techniques de validation des données en Python
Maintenant que nous avons une compréhension de base de l'importance de la validation des données dans les classes Python, explorons les diverses techniques que vous pouvez utiliser pour mettre en œuvre une validation efficace des données.
Vérification de type
La vérification de type est une technique de validation de données fondamentale en Python. Vous pouvez utiliser la fonction isinstance()
pour vérifier le type de données d'une entrée :
def validate_age(age):
if not isinstance(age, int):
raise ValueError("Age must be an integer.")
return age
Vérification de plage
S'assurer que les données d'entrée se situent dans une plage spécifique est une autre technique courante de validation de données. Vous pouvez utiliser des opérateurs de comparaison pour vérifier les valeurs minimale et maximale acceptables :
def validate_age(age):
if not isinstance(age, int) or age < 0 or age > 120:
raise ValueError("Age must be an integer between 0 and 120.")
return age
Vérification de longueur
La validation de la longueur des données d'entrée, telles que les chaînes de caractères ou les listes, peut être effectuée à l'aide de la fonction len()
:
def validate_name(name):
if not isinstance(name, str) or len(name) < 3:
raise ValueError("Name must be a string with at least 3 characters.")
return name.strip()
Correspondance de modèle
Les expressions régulières peuvent être utilisées pour valider le format des données d'entrée, telles que les adresses e-mail ou les numéros de téléphone :
import re
def validate_email(email):
email_pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
if not isinstance(email, str) or not re.match(email_pattern, email):
raise ValueError("Invalid email format.")
return email
Validation d'énumération
Lorsque vous avez un ensemble prédéfini d'options valides, vous pouvez utiliser une énumération pour valider l'entrée :
from enum import Enum
class Gender(Enum):
MALE = 'male'
FEMALE = 'female'
OTHER = 'other'
def validate_gender(gender):
if gender not in [g.value for g in Gender]:
raise ValueError("Gender must be 'male', 'female', or 'other'.")
return gender
En combinant ces techniques, vous pouvez créer une logique de validation de données robuste au sein de vos classes Python pour garantir l'intégrité et la fiabilité des données de votre application.