選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
このリポジトリはアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュや、課題・プルリクエストのオープンはできません。
 
 
 
 
 
 

115 行
3.1 KiB

  1. Chapitre 12 - Modules - 1ère partie
  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. d'une variable `a` à l'entier 42 ::
  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::
  19. # Dans salutations.py
  20. import bonjour
  21. print(bonjour.a)
  22. # affiche: 42
  23. .. note::
  24. Le nom du module est écrit directement, ce n'est *pas* une
  25. chaîne de caractères.
  26. On voit que l'assignation de la variable `a` dans `bonjour.py` est devenue
  27. un *attribut* du module `bonjour` lorsque `bonjour` a été importé
  28. Si maintenant on rajoute une fonction ``dire_bonjour`` dans ``bonjour.py``::
  29. # Dans bonjour.py
  30. a = 42
  31. def dire_bonjour():
  32. print("Bonjour!")
  33. On peut appeler la fonction ``dire_bonjour`` depuis ``salutations.py``
  34. en utilisant l'attribut ``dire_bonjour`` du module ``bonjour``::
  35. # Dans salutations.py
  36. import bonjour
  37. bonjour.dire_bonjour()
  38. # affiche: Bonjour!
  39. Les imports ne sont faits qu'une seule fois
  40. -------------------------------------------
  41. Il est important de noter que:
  42. * **tout** le code à l'intérieur d'un module est éxécuté lors du premier import
  43. * mais il n'est *pas* ré-éxécuté si le module a déjà été importé auparavant.
  44. On peut le voir en mettant du code dans `bonjour.py`,
  45. en plus des simples définitions de fonctions et assignations
  46. de variables::
  47. # Dans bonjour.py
  48. print("Je suis le module bonjour et tu viens de m’importer")
  49. def dire_bonjour():
  50. ....
  51. .. code-block:: python
  52. # Dans salutation.py
  53. import bonjour
  54. # affiche: Je suis le module bonjour et tu viens de m’importer
  55. import bojour
  56. # n'affiche rien
  57. La bibliothèque standard
  58. ------------------------
  59. La bibliothèque standard est une collection de modules directement utilisables fournis à l'installation de Python.
  60. Exemple: ``sys``, ``random``, ...
  61. Toute la bibliothèque standard est documentée - et la traduction en Français est en cours:
  62. https://docs.python.org/fr/3/library/index.html
  63. Mettez ce lien dans vos favoris - il vous sera très utile.
  64. Quelques exemples de modules de la bibliothèque standard
  65. ---------------------------------------------------------
  66. Easter eggs
  67. ++++++++++++
  68. (Ou fonctionnalités cachées)
  69. * ``import antigravity``
  70. * ``import this``
  71. Je vous laisse découvrir ce que fait le premier. Quant au deuxième, il contient
  72. une liste de préceptes que la plupart des développeurs Python s'efforcent de
  73. respecter. On en reparlera ...