您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
此仓库已存档。您可以查看文件和克隆,但不能推送或创建工单/合并请求。

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