« Programmation Python/Modules » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 1 :
<noinclude>{{Python}}</noinclude>
 
== Explications ==
L'un des concepts les plus importants en programmation est celui de ''fonction''<ref>Sous Python, le terme de "fonction" est utilisé indifféremment pour désigner à la fois de véritables fonctions mais également des ''procédures''. Nous indiquerons plus loin la distinction entre ces deux concepts proches.</ref>. Les fonctions permettent en effet de décomposer un programme complexe en une série de sous-programmes plus simples, lesquels peuvent à leur tour être décomposés eux-mêmes en fragments plus petits, et ainsi de suite. D'autre part, les fonctions sont réutilisables : si nous disposons d'une fonction capable de calculer une racine carrée, par exemple, nous pouvons l'utiliser un peu partout dans nos programmes sans avoir à la ré-écrire à chaque fois.
 
== Définition ==
Un module peut être appelé depuis plusieurs programmes, il s'agit d'un fichier .py commençant par son identité (qui ne contient pas de point).
 
N'importe quel fichier .py peut donc être appelé depuis un autre comme un module<ref>({{en}}) http://docs.python.org/2/tutorial/modules.html</ref>. Il peut contenir :
:du script
:des fonctions
:des classes
:...
 
== Importations ==
Pour utiliser des fonctions de modules dans un programme, il faut au début du fichier importer ceux-ci.
 
Pour ce faire, utiliser la commande "import" :
<source lang="python">
import os
import codecs
</source>
Sur la même ligne :
<source lang="python">
import os, codecs
</source>
Ou encore en sélectionnant tous les éléments d'un fichier :
<source lang="python">
from wikipedia import *
</source>
A noter : cette dernière méthode est dangereuse, car des objets du module portant le même nom que des objets du programme peuvent s'écraser l'un l'autre.
 
=== TypeError ===
Si l'erreur suivante pose une colle lors de l'appel :
TypeError: 'module' object is not callable
Il suffit d'appeler le module sous la forme : NomFichier.NomFonction.
 
=== Import error ===
Si cette autre erreur arrive :
Import error: No module named urllib3.response
Il suffit de modifier le PYTHONPATH pour qu'il trouve le module mentionné, par exemple derrière une condition s'assurant que la machine qui exécute le script contient le répertoire du module :
<source lang=python>
import sys, socket
if socket.gethostname() == "MonUbuntu":
sys.path.append(u'/usr/local/lib/python2.7/dist-packages/requests')
else:
import requests
</source>
 
La page suivante traite du module ''re''.
 
== Interaction avec l'utilisateur : la fonction input() ==
Ligne 565 ⟶ 612 :
{{fin}}
 
<noinclude>
== Notes ==
==Références==
{{références}}
 
----
{{lienDePage|Programmation Python|Fonctions|Exercices sur les bases du langage}}
</noinclude>