Utilitaire formattant le code afin de respecter la [[https://www.python.org/dev/peps/pep-0008/][PEP8]] guideline. Il est basé sur l'analyse de code effectuée par
[[https://github.com/PyCQA/pycodestyle][pycodestyle]]. Autopep8 ne modifie que les espaces contenus dans le code (l'option ~--aggressive~ permet d'accroitre le
pouvoir d'autopep8 et le laisser modifier le code).
[[https://github.com/PyCQA/pycodestyle][pycodestyle]]. ~Autopep8~ ne modifie que les espaces contenus dans le code (l'option ~--aggressive~ permet d'accroître le
pouvoir d'~autopep8~ et le laisser modifier le code).
*** [[https://github.com/PyCQA/isort][isort]]
Outil classant les imports par ordre alphabétique, les séparant par section et par type.
Outil permettant d'indiquer le code optimisé par la spécialisation du bécote (cf. [[https://peps.python.org/pep-0659/][PEP 659 – Specializing Adaptive Interpreter]]).xo
*** [[https://github.com/nvdv/vprof][vprof]]
Profiling de programmes python permettant de surveiller le temps d'exécution et l'usage mémoire.
~vprof -c hpm "<cmd>"~
@@ -104,9 +114,6 @@ Outil permettant de tester la tenue en charge d'applications (initialement web s
@@ -198,6 +214,14 @@ Framework d'extraction de données depuis des site web.
* utiliser ~python -m pip~ et ~python -m venv~ (exécution du module en tant que script, au lieu de ~pip~ et ~virtualenv~) permet d'éviter les incohérences
entre les différents répertoires des packages Python (cas lorsqu'un répertoire est présent dans le ~PYTHONPATH~ et qu'un autre l'est dans le ~PATH~).
* Optimisations
** Création automatique de constantes numériques lors de la génération du bytecode
#+BEGIN_SRC python :results output
y=x*5/9# Une multiplcation par un entier, suivie par une division par un entier
y=x*(5/9)# Le ratio 5 / 9 est calculé lors de la génération du bytecode associé à la ligne : une seule multiplication par un flottant lors de l'exécution de l'opération
#+END_SRC
A partir de Python3.11, les opérations entre types identiques (ie: int+int) peuvent être spécialisées (cf. [[https://www.youtube.com/watch?v=tNs18GDmAfg][Python Perf: Specializing, Adaptive Interpreter - Talk Python Live Stream - YouTube]] - augmentation des perfs).
* Tips
** [[id:24408701-21d8-4f4e-aed9-c58746df2244][Différence entre les opérateurs + et +=]]
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.