formations/README.md

77 lines
1.6 KiB
Markdown
Raw Normal View History

2019-01-18 22:41:27 +00:00
# Python Introduction Slides
2019-12-22 14:46:35 +00:00
https://mdk.fr/python-initiation/
2020-01-12 13:20:57 +00:00
2020-01-12 19:51:22 +00:00
2020-01-12 13:20:57 +00:00
## TODO
2021-02-01 07:51:10 +00:00
- http://scipy.github.io/old-wiki/pages/Tentative_NumPy_Tutorial
- `*` peut être vu comme de l'unpacking vers des noms qu'on ne voit pas.
- Ajouter une slide sur "jamais de \ en fin de ligne", il y a toujours
un moyen plus lisible.
- https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html Why numbering should start at zero
2020-01-13 21:25:16 +00:00
- Les imports
2020-02-20 21:22:12 +00:00
- Attention avec `def fib` jour 1 on montre les fonctions avant de les
avoir expliquées.
- with statement
2020-01-12 13:20:57 +00:00
## Notes
2021-02-01 07:51:10 +00:00
Les arguments par defaut conservés peuvent service de memoizer:
def fib(x, memo={}):
...
2020-01-12 13:20:57 +00:00
**Aucune** fonction n'est montée avant le 3, (à part des méthodes sur
les types natifs).
2020-01-13 17:22:26 +00:00
Souci : Jour 1 pytest nécessite Jour 2 pip...
2020-03-01 23:57:54 +00:00
# La suite du programme avancé
- Packaging
- cookiecutter : docs/, tests/, README, setup.cfg, setup.py, ...
- Multiprocessing / Multithreading / Asyncio
- IO Bound vs CPU Bound
- Locks vs Queues
- Code quality
- import this, explicit is better
- sémantique : les ternaires, les listes en intension, sont des
expressions, elles doivent être utilisées comme des expressions,
pas comme des instructions.
- TDD
- pas de print, logging FTW.
- pas de "logging tiers", personne ne connaît, on reste sur `logging`.
- -Xdev
- black, ..., pass
- pytest, doctest
- pytest-cov
- hypothesis
- flake8
- flake8-bugbear
- tox
- mypy
- black
- pdb, breakpoint()
- EAFP, LBYL
- Performance
- Les types natifs : Leur complexité algorithmique
- Cython
- pypy
- cffi
- cprofile / pstats
- Libs
- re
- argparse
- pathlib
- logging
- numpy
- jupyter