python:bases:module

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:bases:module [2021/08/11 18:07] philpython:bases:module [2022/09/03 10:33] (Version actuelle) – [1.1 Utilisation] phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[python:bases:accueilmodule|{{ :iconemaison.jpg?nolink&30|Sommaire Les modules et packages}}]]+[[python:bases:accueilmodule|{{ :iconemaison.jpg?nolink&25|Sommaire Les modules et packages}}]]
  
 ===== Python - Modules et packages - Généralités ===== ===== Python - Modules et packages - Généralités =====
Ligne 10: Ligne 10:
   * **Mots-clés** : module, importation, package.   * **Mots-clés** : module, importation, package.
  
-<note important>Les mots ci-dessous sont dits "réservés". Ils ne peuvent pas être utilisés comme nom de variable. Les mots __soulignés__ sont une nouveauté de Python 3. Les mots en **gras** sont utilisés dans cette page.</note>+<callout type="warning" icon="true">Les mots ci-dessous sont dits "réservés". Ils ne peuvent pas être utilisés comme nom de variable. Les mots __soulignés__ sont une nouveauté de Python 3. Les mots en **gras** sont utilisés dans cette page.</callout>
  
 |  and        |  continue    finally      is            |  raise     | |  and        |  continue    finally      is            |  raise     |
Ligne 27: Ligne 27:
 ==== 1. Les modules ==== ==== 1. Les modules ====
  
-<note>Un module est une **liste de fonctions et de variables** contenues dans un **fichier**. Pour travailler avec les fonctionnalités du module, il suffit de l'**importer**.</note>+<callout type="primary" icon="true">Un module est une **liste de fonctions et de variables** contenues dans un **fichier**. Pour travailler avec les fonctionnalités du module, il suffit de l'**importer**.</callout>
  
 === 1.1 Utilisation ==== === 1.1 Utilisation ====
Ligne 33: Ligne 33:
 **1.1.1 Méthode 1 : import** **1.1.1 Méthode 1 : import**
  
-<note important>L'importation d'un module se fait à l'aide du mot-clé **import**.</note>+<callout type="warning" icon="true">L'importation d'un module se fait à l'aide du mot-clé **import**.</callout>
  
 //Exemples // : importation des modules **math** et **random** //Exemples // : importation des modules **math** et **random**
Ligne 49: Ligne 49:
 **1.1.2 Méthode 2 : from ... import** **1.1.2 Méthode 2 : from ... import**
  
-<note tip>On peut éviter de préfixer les fonctions avec le nom du module ou limiter le nombre d'éléments importés en utilisant **//from ... import//** à condition de ne pas importer des modules possédant des méthodes ayant le même nom.</note+<callout type="tip" icon="true">On peut éviter de préfixer les fonctions avec le nom du module ou limiter le nombre d'éléments importés en utilisant **//from ... import//** à condition de ne pas importer des modules possédant des méthodes ayant le même nom.</callout>
  
 // Exemple 1 //  // Exemple 1 // 
Ligne 70: Ligne 70:
 </code> </code>
  
-<note tip>**dir**(//nom_module//) affiche la liste des fonctions. \\ **help("**//nom_module//**")** donne une description de ces fonctions</note>+<callout type="tip" icon="true">**dir**(//nom_module//) affiche la liste des fonctions. \\ **help("**//nom_module//**")** donne une description de ces fonctions</callout>
  
 //Exemple// //Exemple//
Ligne 79: Ligne 79:
 Lorsqu'on écrit //import math//, cela crée un **espace de noms** dénommé //math//, contenant les variables et les fonctions du module //math//. Lorsqu'on écrit //math.sqrt(25)//, on précise à l'interpréteur que l'on souhaite exécuter la fonction //sqrt// située dans l'espace de nom //math//. Il est ainsi possible d'utiliser une autre fonction sqrt située dans un autre module ou dans créer une dans l'espace de nom principal. Lorsqu'on écrit //import math//, cela crée un **espace de noms** dénommé //math//, contenant les variables et les fonctions du module //math//. Lorsqu'on écrit //math.sqrt(25)//, on précise à l'interpréteur que l'on souhaite exécuter la fonction //sqrt// située dans l'espace de nom //math//. Il est ainsi possible d'utiliser une autre fonction sqrt située dans un autre module ou dans créer une dans l'espace de nom principal.
  
-<note tip>Il est possible de modifier l'intitulé d'un espace de nom avec **as**</note>+<callout type="tip" icon="true">Il est possible de modifier l'intitulé d'un espace de nom avec **as**.</callout>
  
 //Exemple// //Exemple//
Ligne 102: Ligne 102:
  
  
-<note warning>Si l'importation du module ne fonctionne pas, c'est certainement qu'il n'est pas installé. L'installation d'un module passe par un gestionnaire de paquets comme **[[python:outils:pip|pip]]** ou **[[python:outils:anaconda|conda]]**. \\ Voir le site sur lequel il se trouve pour la procédure.+<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">Si l'importation du module ne fonctionne pas, c'est certainement qu'il n'est pas installé. L'installation d'un module passe par un gestionnaire de paquets comme **[[python:outils:pip|pip]]** ou **[[python:outils:anaconda|conda]]**. \\ Voir le site sur lequel il se trouve pour la procédure.
  
 Un module installé sous **VSCode** dans un terminal PowerShell avec la commande : Un module installé sous **VSCode** dans un terminal PowerShell avec la commande :
 <code powershell *.ps>python -m  pip install nomModule ou  <code powershell *.ps>python -m  pip install nomModule ou 
-pip install nomModule</code> est disponible **après son redémarrage**.</note>+pip install nomModule</code> est disponible **après son redémarrage**.</callout>
  
  
Ligne 156: Ligne 156:
 Lorsqu'on dispose d'un grand nombre de modules, il peut être intéressant de les organiser dans des répertoires. Un répertoire rassemblant des **modules** est appelé package.  Lorsqu'on dispose d'un grand nombre de modules, il peut être intéressant de les organiser dans des répertoires. Un répertoire rassemblant des **modules** est appelé package. 
  
-<note>Un **package** sert à regrouper plusieurs modules. En pratique les packages sont des **répertoires**. Le nom du package est le nom du répertoire.</note>+<callout type="primary" icon="true">Un **package** sert à regrouper plusieurs modules. En pratique les packages sont des **répertoires**. Le nom du package est le nom du répertoire.</callout>
  
 {{ :python:bases:exmodule.png?nolink|}} {{ :python:bases:exmodule.png?nolink|}}
Ligne 185: Ligne 185:
 Si le fichier **.py** contient uniquement des définitions de fonction on l'appelle un **module**. Si le fichier **.py** contient uniquement des définitions de fonction on l'appelle un **module**.
  
-<note important>Un même **fichier .py** peut jouer le rôle de **script** ou de **module** suivant son utilisation.</note>+<callout type="warning" icon="true">Un même **fichier .py** peut jouer le rôle de **script** ou de **module** suivant son utilisation.</callout>
  
   * **La variable global <nowiki>__name__</nowiki>**   * **La variable global <nowiki>__name__</nowiki>**
-<note>A l’intérieur d’un module, le nom du module (en tant que chaîne de caractères) peut être obtenu grâce à la **variable globale <nowiki>__name__</nowiki>**.</note>+<callout type="primary" icon="true">A l’intérieur d’un module, le nom du module (en tant que chaîne de caractères) peut être obtenu grâce à la **variable globale <nowiki>__name__</nowiki>**.</callout>
  
 Quand on utilise un fichier en tant que script, la variable globale <nowiki>__name__</nowiki> prend pour valeur '**<nowiki>__main__</nowiki>**'. Ceci permet d’avoir dans le fichier **un bloc d’instructions** qui sera exécuté uniquement lorsque le fichier est lancé en tant que script. Quand on utilise un fichier en tant que script, la variable globale <nowiki>__name__</nowiki> prend pour valeur '**<nowiki>__main__</nowiki>**'. Ceci permet d’avoir dans le fichier **un bloc d’instructions** qui sera exécuté uniquement lorsque le fichier est lancé en tant que script.
  • python/bases/module.1628698060.txt.gz
  • Dernière modification : 2021/08/11 18:07
  • de phil