46 liens privés
L'article présente dix fonctions Python moins connues mais très utiles pour améliorer l'efficacité et la lisibilité du code. Voici un résumé des fonctions abordées :
- bisect : Permet de maintenir des listes triées et de trouver des points d'insertion efficacement.
- itertools.pairwise : Génère des paires consécutives dans une séquence, utile pour l'analyse des tendances.
- statistics.fmean : Calcule la moyenne plus rapidement et avec une meilleure précision que
mean()
. - itertools.takewhile : Traite les séquences jusqu'à ce qu'une condition ne soit plus remplie.
- operator.attrgetter : Simplifie l'extraction d'attributs d'objets, utile pour le tri.
- itertools.chain.from_iterable : Aplatit les structures imbriquées de manière efficace.
- functools.cache : Met en cache les résultats de fonctions pour accélérer les calculs répétitifs.
- contextlib.suppress : Permet de gérer les exceptions de manière plus propre sans code superflu.
- pathlib.Path.glob : Recherche des fichiers correspondant à un motif spécifique dans un répertoire.
- dataclasses.asdict : Convertit facilement des objets en dictionnaires pour une manipulation ou une sérialisation JSON simplifiée.
Ces fonctions permettent de simplifier des opérations complexes et d'améliorer la performance du code.
L'article présente des pratiques modernes pour le développement en Python. Il recommande d'utiliser des outils comme pipx ou uv pour exécuter des applications Python dans des environnements virtuels séparés, évitant ainsi d'installer des packages directement dans l'installation Python de l'OS. Pour le développement, il est conseillé d'utiliser des gestionnaires de versions comme pyenv ou des conteneurs de développement pour gérer plusieurs versions de Python. L'utilisation de Poetry, uv ou PDM est encouragée pour structurer les projets, tandis que Hatch est préféré pour les bibliothèques Python. Les outils de formatage comme Ruff et les linters comme flake8 sont essentiels pour maintenir un code propre et cohérent. Les type hints et les outils comme mypy améliorent la qualité du code, surtout pour les applications critiques. Pytest est recommandé pour les tests, avec des plugins comme pytest-randomly pour éviter les interférences entre tests. Les projets doivent être empaquetés en wheel pour les bibliothèques et en OCI ou PyInstaller pour les applications. Enfin, des pratiques comme l'utilisation de f-strings, de datetime avec time zones, et de pathlib pour les chemins de fichiers sont également mises en avant pour un code Python moderne et efficace.
Une liste d'outils pour le développement Python qui paraît assez complète
D'après la documentation, le module doctest cherche des extraits de texte ressemblant à des sessions Python interactives avant de les exécuter, de façon à vérifier que le fonctionnement correspond exactement à la description.
et d'après l'article, il s'agit surtout d'une documentation testée. J'aime beaucoup le principe
Une belle déclaration :)
Tout est dans le titre
Tout est dans le titre
Comment résoudre ce pb pénible
Un utilitaire pour séparer les différentes pistes d'une musique (en ligne de commande)
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre