recherche
Maisondéveloppement back-endTutoriel PythonRefactors communs en Python pour les débutants

ommon Refactors in Python for Beginners

La refactorisation contribue à rendre votre code plus propre et plus efficace. Voici cinq refactors courants pour les débutants en Python.

Je. Simplifier les expressions booléennes

Un modèle courant consiste à utiliser un bloc if-else juste pour renvoyer True ou False. Par exemple :

if condition:
    return True
else:
    return False

Refactorisez-le en :

return condition

La condition elle-même est déjà une expression booléenne, donc le bloc if-else n'est pas nécessaire. En renvoyant directement la condition, le code devient plus court et plus lisible. C'est un moyen simple mais efficace d'améliorer la clarté sans modifier la fonctionnalité.

II. Liste des compréhensions au lieu de for / if

Les débutants utilisent souvent des boucles for avec des instructions if pour créer des listes. Par exemple :

result = []
for item in items:
    if condition(item):
        result.append(item)

Refactorisez-le pour une compréhension de liste :

result = [item for item in items if condition(item)]

Les compréhensions de listes offrent une manière plus concise de construire des listes. Elles sont également généralement plus rapides que les boucles for équivalentes car elles sont optimisées en interne par Python. Cette approche est également plus facile à lire, en particulier pour les tâches simples de création de liste.

III. Évitez de répéter les calculs

Si vous appelez plusieurs fois la même fonction dans une boucle, stockez le résultat dans une variable. Par exemple :

for item in items:
    if len(item) > 5:
        result.append(item)
...

Refactorisez-le en :

for item in items:
    len = len(item)
    if len > 5:
        result.append(item)
...

Imaginez si cette condition est remplie dans plusieurs déclarations elif ou if imbriquées. Ici, len(item) est appelé deux fois pour chaque itération, ce qui peut être inefficace, en particulier pour les grandes listes. Stocker le résultat de len(item) dans une variable (len) élimine les calculs répétés, améliorant les performances et rendant le code plus propre. Ceci est un exemple basique.

IV. Remplacez les boucles par une carte et un filtre

Au lieu d'écrire des boucles explicites, utilisez les fonctions intégrées de Python comme map() et filter(), qui peuvent être plus efficaces et concises. Par exemple, pour doubler chaque élément d'une liste :

result = []
for item in items:
    result.append(item * 2)

Refactorisez-le en :

result = list(map(lambda x: x * 2, items))

Ou pour filtrer les éléments supérieurs à 5 :

result = []
for item in items:
    if item > 5:
        result.append(item)

Refactorisez-le en :

result = list(filter(lambda x: x > 5, items))

map() et filter() prennent des fonctions comme arguments, nous pouvons donc utiliser lambda pour définir de petites fonctions anonymes. La fonction lambda est une manière concise de définir des opérations simples. Par exemple, lambda x: x * 2 crée une fonction qui multiplie x par 2. L'avantage de map() et filter() est qu'ils sont souvent plus efficaces que l'utilisation d'une boucle for et sont généralement plus lisibles. On pourrait également utiliser des compréhensions de listes (voir ci-dessus).

V Combiner plusieurs instructions if

Lors de la vérification de plusieurs conditions, les combiner avec des opérateurs logiques (et, ou) peut simplifier votre code. Par exemple :

if a > 0:
    if b > 0:
        result = a + b

Refactorisez-le en :

if condition:
    return True
else:
    return False

Cela réduit les imbrications inutiles et rend le code plus facile à lire et à maintenir. La combinaison des conditions en une seule instruction if rend le flux logique plus clair et élimine la redondance.

Conclusion

La refactorisation consiste à rendre votre code plus court, plus clair et plus efficace sans changer ce qu'il fait. En simplifiant les expressions booléennes, en utilisant la compréhension de listes, en évitant les calculs répétés, en tirant parti des fonctions intégrées telles que map() et filter() et en fusionnant les conditions, vous pouvez rendre votre code SEC. L'utilisation de lambda vous permet de définir de petites fonctions sur une seule ligne, en gardant le code propre et rapide. Ces pratiques améliorent non seulement les performances, mais améliorent également la lisibilité, ce qui est crucial pour maintenir le code à long terme.

Lectures complémentaires :

https://www.w3schools.com/python/python_lambda.asp

https://www.w3schools.com/python/ref_func_filter.asp

https://www.w3schools.com/python/ref_func_map.asp

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
Python: compilateur ou interprète?Python: compilateur ou interprète?May 13, 2025 am 12:10 AM

Python est une langue interprétée, mais elle comprend également le processus de compilation. 1) Le code Python est d'abord compilé en bytecode. 2) ByteCode est interprété et exécuté par Python Virtual Machine. 3) Ce mécanisme hybride rend Python à la fois flexible et efficace, mais pas aussi rapide qu'une langue entièrement compilée.

Python pour Loop vs While Loop: Quand utiliser lequel?Python pour Loop vs While Loop: Quand utiliser lequel?May 13, 2025 am 12:07 AM

Usaforloopwheniterating aepasquenceorfor pourpascific inumberoftimes; useawhileloopwencontinTutuntutilaconditioniseMet.ForloopsareIdealForkNown séquences, tandis que celle-ci, ce qui est en train de réaliser des étages.

Python Loops: les erreurs les plus courantesPython Loops: les erreurs les plus courantesMay 13, 2025 am 12:07 AM

PythonloopscanleadtoerrorlikeInfiniteLoops, modificationlistDuringiteration, off-by-by-oneerrors, zéro-indexingisss et intestloopinefficisecy.toavoid this: 1) use'i

Pour la boucle et bien que la boucle en python: quels sont les avantages de chacun?Pour la boucle et bien que la boucle en python: quels sont les avantages de chacun?May 13, 2025 am 12:01 AM

ForloopsAreAdvantageSousForkNowiterations et séquences, offrant laimplicité et la réadaptation;

Python: une plongée profonde dans la compilation et l'interprétationPython: une plongée profonde dans la compilation et l'interprétationMay 12, 2025 am 12:14 AM

Pythonusahybridmodelofcompilation et interprétation: 1) thepythoninterpreterCompileSourCodeIntOplatform-indépendantBytecode.2) thepythonvirtualmachine (pvm) there examenesthisbytecode, équilibrage de l'usage de la performance.

Python est-il une langue interprétée ou compilée, et pourquoi est-ce important?Python est-il une langue interprétée ou compilée, et pourquoi est-ce important?May 12, 2025 am 12:09 AM

Pythonisbothinterpretedand compiled.1) il est composédToByteCodeForportabilityAcrosplatforms.2) theytecodeisthenter interprété, permettant à OrdayNamictypingAndRapidDevelopment, bien que MaybeSlowerSlowerSwower, aisance.

Pour Loop vs While Loop in Python: les principales différences expliquéesPour Loop vs While Loop in Python: les principales différences expliquéesMay 12, 2025 am 12:08 AM

Forloopsareideal quand vous savez que l'immatriculation des adressages a une avance, tandis que ce qui est de savoir si

Pour et bien que les boucles: un guide pratiquePour et bien que les boucles: un guide pratiqueMay 12, 2025 am 12:07 AM

Forloopsaseesesed whenthenUmberoFitations dissownininadvance, tandis que celle-ci a été utilisé sur les éléments de la dispense

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit