Maison > développement back-end > Tutoriel Python > Optimiser votre code avec l'opérateur Walrus de Python : exemples concrets et anti-modèles à éviter

Optimiser votre code avec l'opérateur Walrus de Python : exemples concrets et anti-modèles à éviter

WBOY
Libérer: 2024-08-18 06:01:32
original
656 Les gens l'ont consulté

Optimizing Your Code with Python

Introduction :
L'opérateur Walrus, introduit dans Python 3.8, est un outil utile permettant aux développeurs de simplifier et d'optimiser leur code. Il permet l'affectation de variables dans des expressions, ce qui en fait une approche de programmation plus concise et efficace. Cependant, comme tout outil, il doit être utilisé avec modération et avec bon jugement. Dans ce didacticiel, nous explorerons des exemples concrets d'utilisation d'opérateurs de morses et mettrons en évidence quelques anti-schémas à éviter.

Exemples concrets d'utilisation des opérateurs de morses :
1. Simplifier les instructions conditionnelles
L'un des cas d'utilisation les plus courants de l'opérateur Walrus consiste à simplifier les instructions conditionnelles. Disons que nous avons une fonction qui renvoie la longueur d'une chaîne et que nous voulons vérifier si la longueur est supérieure à 10. En utilisant l'opérateur morse, nous pouvons attribuer la longueur variable directement dans l'instruction conditionnelle, ce qui nous permet d'économiser une ligne de code.

Exemple de déclaration conditionnelle sans opérateur morse

longueur = len(chaîne)
si longueur > 10 :
print("La chaîne comporte plus de 10 caractères.")

Exemple d'utilisation d'un opérateur morse

if (length := len(string)) > 10 :
print("La chaîne comporte plus de 10 caractères.")

2. Éviter les appels de fonction répétés
Dans certains cas, l'utilisation de l'opérateur morse peut améliorer les performances de notre code en évitant les appels de fonction répétés. Dans l'exemple suivant, nous voulons calculer la note moyenne d'un élève, mais nous devons également vérifier si l'élève a réussi le cours. Sans l'opérateur morse, nous aurions besoin d'appeler la fonction deux fois, mais avec lui, nous pouvons attribuer le résultat de la fonction à une variable et l'utiliser à la fois dans l'instruction conditionnelle et dans le calcul.

Exemple sans opérateur morse

grade1 = computing_grade(étudiant, test1)
grade2 = computing_grade(étudiant, test2)
si (grade1 + grade2) / 2 >= 70 :
print("L'étudiant a réussi le cours.")

if ((grade1 := computation_grade(student, test1)) + (grade2 := computing_grade(student, test2))) / 2 >= 70 :
print("L'étudiant a réussi le cours.")

3. Simplifier la compréhension des listes
Les compréhensions de listes sont un outil puissant pour manipuler et filtrer les données d'une liste. Cependant, les compréhensions de listes complexes peuvent devenir difficiles à lire et à maintenir. L'utilisation de l'opérateur morse peut simplifier ces compréhensions en nous permettant d'attribuer des variables dans l'expression.

Exemple de compréhension de liste sans opérateur morse

results = [compute_profit(sales, cost) pour les ventes, coût dans sales_data si calculate_profit(sales, cost) > 50]

Exemple d'utilisation d'un opérateur morse

results = [(profit := calculate_profit(sales, cost)) pour les ventes, coût dans sales_data si profit > 50]

Anti-modèles : comment ne pas utiliser l'opérateur Walrus :
1. Compréhensions de listes complexes
Bien que l'opérateur morse puisse simplifier la compréhension des listes, son utilisation excessive peut conduire à un code complexe et illisible. Dans cet anti-modèle, nous voyons une compréhension de liste avec plusieurs conditions et affectations imbriquées. Cela peut devenir difficile à lire et à maintenir, et il est préférable de diviser la logique en étapes distinctes.

Exemple de compréhension de liste désordonnée avec un opérateur morse imbriqué

sales_data = [(100, 70), (200, 150), (150, 100), (300, 200)]
results = [(sales, cost, profit, sales_ratio) pour les ventes, coût dans sales_data if (profit := calculate_profit(sales, cost)) > 50
if (sales_ratio := ventes / coût) > 1,5 si (profit_margin := (bénéfice / ventes)) > 0.2]

2. Opérateurs de morses imbriqués
L’utilisation d’opérateurs de morse imbriqués peut donner lieu à un code difficile à lire et à comprendre. Dans cet exemple, nous voyons des opérateurs imbriqués dans une seule expression, ce qui rend difficile la compréhension de la logique et du code. Il est préférable de décomposer la logique en plusieurs lignes pour une meilleure lisibilité et maintenabilité.

Exemple d'opérateurs de morses imbriqués

valeurs = [5, 15, 25, 35, 45]
seuil = 20
résultats = []
pour la valeur en valeurs :
if (above_threshold := valeur > seuil) et (incrémenté := (new_value := valeur + 10) > 30) :
results.append(new_value)
imprimer(résultats)

Fazit:
Der Walross-Operator ist ein leistungsstarkes Tool zur Vereinfachung und Optimierung von Code, sollte jedoch mit Vorsicht verwendet werden. Indem wir seine Fähigkeiten und Einschränkungen verstehen, können wir es effektiv in unserem Code nutzen und gängige Anti-Patterns vermeiden.

Die Python-Zertifizierungspraxistests von MyExamCloud sind ein nützliches Werkzeug für diejenigen, die sich auf Python-Zertifizierungen vorbereiten.

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:dev.to
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal