25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

notes.md 1.7 KiB

5 년 전
5 년 전
5 년 전
5 년 전
5 년 전
5 년 전
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. Ce fichier contient diverses notes utiles à la préparation des futurs cours.
  2. # Sujets à évoquer
  3. ## next chapter
  4. * Let's create *explicit* hidden interfaces!
  5. ## bits
  6. * base class / derived class -> more vocabulary
  7. * attributes on functions (you never know)
  8. * `__call__`, functors
  9. * scopes, closures, global, nonlocal
  10. * private
  11. * no overlaod in python
  12. * several `__init__` ? Nope, alternative constructors
  13. * https://code-maven.com/slides/python-programming/class-methods-alternative-constructor
  14. * properties on classes
  15. * stable sorts
  16. * dict: setdefault
  17. * listes: pop prend un argument
  18. * slices takes a step too [::-1] -> reverse
  19. * with: contextmanager, ContextDecorator
  20. * short circuit in if: `if a is not None and a.b == 42`
  21. ## big stuff
  22. * exceptions: try, catch, finally
  23. * files: "wa", accès séquentiel (chunk = file.read(chunk_size))
  24. * style: trailing white space, editor configuration,
  25. * [formatage de strings](fragments/format.md)
  26. * liste par compréhension et filtres
  27. * `help()`
  28. * packages, libraries tierces
  29. * requests, HTTP protocol (headers, methodes, urls, anchors, links ...)
  30. * décorateurs
  31. * Données binaires, encodage (binaire, ASCII, hexadécimal, unicode ...)
  32. * virtualenv, pip, et bibliothèques tierces
  33. * IDEs: don't use them ... yet (or ever)
  34. * linters,
  35. * déboguage
  36. * demo: pyflakes - black
  37. * tests: pytest, TDD
  38. # Idées d'ateliers
  39. Parser du RSS et télécharger les émissions:
  40. * Source: https://github.com/dmerejkowsky/pypodget/
  41. * Concepts:
  42. * `setup.py`
  43. * scripts, entry points
  44. * Remplacer Matlab par Python + numpy + matplotlib
  45. * Effets audio
  46. * Jeux vidéos (pygame)
  47. * IOT : micro-controller, Rasberry Pi
  48. * Blender/GIMP
  49. * Stéganographie: cacher un texte dans une image
  50. * Patcher des binaires Windows pour le fun?