Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Den här utvecklingskatalogen är arkiverad. Du kan se filer och klona katalogen, men inte öppna ärenden eller genomföra push- eller pull-förfrågningar.

index.rst 3.1 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. Chapitre 11 - Introduction aux modules
  2. ======================================
  3. Un fichier = un module
  4. ------------------------
  5. Et oui, vous faites des modules sans le savoir depuis le début :)
  6. Un fichier `foo.py` correspond *toujours* module `foo`
  7. **Attention: Ce n'est pas tout à fait réciproque. Le module `foo` peut venir d'autre chose
  8. qu'un fichier foo.py.**
  9. Importer un module
  10. ------------------
  11. Ou: accéder à du code provenant d'un *autre* fichier source.
  12. Créons un fichier `bonjour.py` contenant seulement une assignation
  13. de l'entier 42 à la variable `a`::
  14. # Dans bonjour.py
  15. a = 42
  16. Comme un fichier = un module, on vient de crée un module ``bonjour`` contenant une variable ``a``.
  17. Si maintenant on crée un fichier ``salutations.py`` dans le même répertoire,
  18. on peut accéder à cette variable en *important* le module avec le mot-clé
  19. ``import``::
  20. # Dans salutations.py
  21. import bonjour
  22. print(bonjour.a)
  23. # affiche: 42
  24. .. note::
  25. Le nom du module est écrit directement, ce n'est *pas* une
  26. chaîne de caractères.
  27. On voit que la variable `a` dans `bonjour.py` est devenue
  28. un *attribut* du module `bonjour` lorsque `bonjour` a été importé
  29. Si maintenant on rajoute une fonction ``dire_bonjour`` dans ``bonjour.py``::
  30. # Dans bonjour.py
  31. a = 42
  32. def dire_bonjour():
  33. print("Bonjour!")
  34. On peut appeler la fonction ``dire_bonjour`` depuis ``salutations.py``
  35. en utilisant l'attribut ``dire_bonjour`` du module ``bonjour``::
  36. # Dans salutations.py
  37. import bonjour
  38. bonjour.dire_bonjour()
  39. # affiche: Bonjour!
  40. Les imports ne sont faits qu'une seule fois
  41. -------------------------------------------
  42. Il est important de noter que:
  43. * **tout** le code à l'intérieur d'un module est éxécuté lors du premier import
  44. * mais il n'est *pas* ré-éxécuté si le module a déjà été importé auparavant.
  45. On peut le voir en mettant du code dans `bonjour.py`,
  46. en plus des simples définitions de fonctions et de créations
  47. de variables::
  48. # Dans bonjour.py
  49. print("Je suis le module bonjour et tu viens de m’importer")
  50. def dire_bonjour():
  51. ....
  52. .. code-block:: python
  53. # Dans salutation.py
  54. import bonjour
  55. # affiche: Je suis le module bonjour et tu viens de m’importer
  56. import bojour
  57. # n'affiche rien
  58. La bibliothèque standard
  59. ------------------------
  60. La bibliothèque standard est une collection de modules directement utilisables fournis à l'installation de Python.
  61. Exemple: ``sys``, ``random``, ...
  62. Toute la bibliothèque standard est documentée - et la traduction en Français est en cours:
  63. https://docs.python.org/fr/3/library/index.html
  64. Mettez ce lien dans vos favoris - il vous sera très utile.
  65. Quelques exemples de modules de la bibliothèque standard
  66. ---------------------------------------------------------
  67. Easter eggs
  68. ++++++++++++
  69. (Ou fonctionnalités cachées)
  70. * ``import antigravity``
  71. * ``import this``
  72. Je vous laisse découvrir ce que fait le premier. Quant au deuxième, il contient
  73. une liste de préceptes que la plupart des développeurs Python s'efforcent de
  74. respecter. On en reparlera ...