Académique Documents
Professionnel Documents
Culture Documents
2-Prog Modulaire Python
2-Prog Modulaire Python
http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html
PROCÉDURES ET FONCTIONS
Définition de la fonction
Programme principal
2 exécutions du
programme
#écriture de la fonction
def modifier_mutable(a,b):
a.append(8)
b[0] = 6 C’est ce qui est pointé
print(a,b) [10, 8] [6]
par la référence qui
est modifiable, pas la
#appel pour les listes
lx = [10] référence elle-même.
ly = [15] Ex. b = [6] ne sera pas
modifier_mutable(lx,ly) répercuté à l’extérieur
print(lx,ly) [10, 8] [6]
de la fonction.
#écriture de la fonction
def extreme(a,b):
if (a < b): Remarque : Que se passe-t-il si nous ne
return a,b mettons qu’une variable dans la partie
else: gauche de l’affectation ?
return b,a
#ou autre appel
#appel
v = extreme(x,y) v = (10, 15)
x = 10
print(v)
y = 15
#quel type pour v ?
vmin,vmax = extreme(x,y)
print(type(v))
print(vmin,vmax)
<class ‘tuple’>
v est un « tuple », une collection
vmin =10 et vmax=15
de valeurs, à voir plus tard.
R.R. – Université Lyon 2 10
Fonction renvoyant plusieurs valeurs (2)
Nous pouvons aussi passer par une structure intermédiaire telle que
Utilisation des la liste ou le dictionnaire d’objets. Les objets peuvent être de type
listes et des différent, au final l’outil est très souple. (nous verrons plus en détail
dictionnaires les listes et les dictionnaires plus loin)
#appel #appel
x = 10 x = 10
y = 15 y = 15
res = extreme_liste(x,y) res = extreme_dico(x,y)
print(res[0]) print(res['mini'])
x est une variable locale, x n’est pas assignée ici, On va utiliser la variable
pas de répercussion l’instruction provoque globale x. L’instruction
une ERREUR suivante équivaut à
x = 10 + 99
R.R. – Université Lyon 2 12
Imbrication des fonctions
#écriture de la fonction
def externe(a):
La fonction interne() est
#fonction imbriquée
def interne(b): imbriquée dans externe,
return 2.0* b elle n’est pas exploitable
dans le prog. principal ou
#on est dans externe ici
return 3.0 * interne(a) dans les autres fonctions.
#appel
x = 10
print(externe(x)) renvoie 60
print(interne(x)) provoque une erreur
LES MODULES
Voir la liste
https://docs.python.org/3/library/
complète sur
#affichage
print(abslog)
#définition d'alias
import math as m, random as r
Site du cours
http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html
Site de Python
Welcome to Python - https://www.python.org/
Python 3.4.3 documentation - https://docs.python.org/3/index.html
Portail Python
Page Python de Developpez.com
POLLS (KDnuggets)
Data Mining / Analytics Tools Used
Python, 4ème en 2015
What languages you used for data mining / data science?
Python, 3ème en 2014 (derrière R et SAS)