You can not select more than 25 topics 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 2.0 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Ce fichier contient diverses notes utiles à la préparation des futurs cours.
  2. # Sujets à évoquer
  3. > Software engineering is what happens to programming when you add time and
  4. other programmers.
  5. > – Russ Cox
  6. * virtualenv, pip, et bibliothèques tierces
  7. * IDEs: don't use them ... yet (or ever)
  8. * linters,
  9. * déboguage
  10. * demo: pyflakes - black
  11. ## bits
  12. * constants are UPPER_CASE
  13. * argparse
  14. ### classes
  15. * multiple inheritance
  16. * delegation
  17. * properties on classes
  18. * isinstance
  19. * * several `__init__` ? Nope, alternative constructors
  20. * https://code-maven.com/slides/python-programming/class-methods-alternative-constructor private
  21. * magical methods: __str__, __repr__, __add__, ...
  22. ### rest
  23. * attributes on functions (you never know)
  24. * `__call__`, functors
  25. * scopes, closures, global, nonlocal
  26. * stable sorts
  27. * dict: setdefault
  28. * listes: pop prend un argument
  29. * slices takes a step too [::-1] -> reverse
  30. * with: contextmanager, ContextDecorator
  31. * short circuit in if: `if a is not None and a.b == 42`
  32. * splat operator, *args, **kwags, keyword-only
  33. * regex in Python, and why they're useful
  34. ## big stuff
  35. * files: "wa", accès séquentiel (chunk = file.read(chunk_size))
  36. * style: trailing white space, editor configuration,
  37. * liste par compréhension et filtres
  38. * `help()`
  39. * packages, libraries tierces
  40. * requests, HTTP protocol (headers, methodes, urls, anchors, links ...)
  41. * design patters
  42. * solid
  43. * décorateurs
  44. * regular expressions
  45. * Données binaires, encodage (binaire, ASCII, hexadécimal, unicode ...)
  46. * tests: pytest, TDD
  47. ## other subjects
  48. * the dvorak layout
  49. * markdown, pandoc, beamer
  50. # Idées d'ateliers
  51. * Writing GUIs: PyQt, Kivy
  52. Parser du RSS et télécharger les émissions:
  53. * Source: https://github.com/dmerejkowsky/pypodget/
  54. * Concepts:
  55. * `setup.py`
  56. * scripts, entry points
  57. * Remplacer Matlab par Python + numpy + matplotlib
  58. * Effets audio
  59. * Jeux vidéos (pygame)
  60. * IOT : micro-controller, Rasberry Pi
  61. * Blender/GIMP
  62. * Stéganographie: cacher un texte dans une image