Les fonctions en python Terminale S Spécialité ISN Joffrey Cottin – joffrey.cottin@ac-clermont.fr Lycée Saint Pierre Cusset Année scolaire 2014 – 2015 Les fonctions en python 1 / 20 1 Définir une fonction en python Introduction Fonction sans paramètre Fonction avec un paramètre Fonction avec plusieurs paramètres Remarque importante 2 Les modules en python Un module, c’est quoi ? Le module math Le module random Le module time Le module turtle Les fonctions en python 2 / 20 1 Définir une fonction en python Les fonctions en python Définir une fonction en python 3 / 20 1.1 Introduction Les fonctions en python Définir une fonction en python 4 / 20 1.1 Introduction De manière fréquente, il est possible de rencontrer une même séquence d’instructions à plusieurs reprises dans un programme. Afin d’éviter les répétitions, une solution consiste à créer des fonctions avec ou sans paramètres. Les fonctions en python Définir une fonction en python 4 / 20 1.1 Introduction De manière fréquente, il est possible de rencontrer une même séquence d’instructions à plusieurs reprises dans un programme. Afin d’éviter les répétitions, une solution consiste à créer des fonctions avec ou sans paramètres. La syntaxe d’une fonction est : Les fonctions en python Définir une fonction en python 4 / 20 1.1 Introduction De manière fréquente, il est possible de rencontrer une même séquence d’instructions à plusieurs reprises dans un programme. Afin d’éviter les répétitions, une solution consiste à créer des fonctions avec ou sans paramètres. La syntaxe d’une fonction est : 1 2 3 4 5 6 def nomDeLaFonction(argument1, argument2, ...) : """ description de la fonction """ <instruction 1> # les << : >> après le nom de <instruction 2> # la fonction sont indispensables ... # au même titre que l’indentation <instruction p> Les fonctions en python Définir une fonction en python 4 / 20 1.1 Introduction De manière fréquente, il est possible de rencontrer une même séquence d’instructions à plusieurs reprises dans un programme. Afin d’éviter les répétitions, une solution consiste à créer des fonctions avec ou sans paramètres. La syntaxe d’une fonction est : 1 2 3 4 5 6 def nomDeLaFonction(argument1, argument2, ...) : """ description de la fonction """ <instruction 1> # les << : >> après le nom de <instruction 2> # la fonction sont indispensables ... # au même titre que l’indentation <instruction p> Définition argument1, argument2, ... sont appelés les arguments ou les paramètres de la fonction. Les fonctions en python Définir une fonction en python 4 / 20 1.2 Fonction sans paramètre Les fonctions en python Définir une fonction en python 5 / 20 1.2 Fonction sans paramètre Une fonction n’a pas forcément d’argument, néanmoins, les « () » sont indispensables. Les fonctions en python Définir une fonction en python 5 / 20 1.2 Fonction sans paramètre Une fonction n’a pas forcément d’argument, néanmoins, les « () » sont indispensables. Exercice Écrire un algorithme puis une fonction table7() qui affiche la table de multiplication de 7 de 1 à 10. Les fonctions en python Définir une fonction en python 5 / 20 1.2 Fonction sans paramètre Une fonction n’a pas forcément d’argument, néanmoins, les « () » sont indispensables. Exercice Écrire un algorithme puis une fonction table7() qui affiche la table de multiplication de 7 de 1 à 10. Traitement et Sortie Pour k allant de 1 à 10 faire Afficher « k x 7 ». FinPour FinTraitement Les fonctions en python Définir une fonction en python 5 / 20 1.2 Fonction sans paramètre Les fonctions en python Définir une fonction en python 6 / 20 1.2 Fonction sans paramètre 1 2 3 4 def table7(): """fonction permettant d’obtenir la table par 7""" for k in range(1,11): print(’%s x 7 = %s’ %(k,k*7)) Les fonctions en python Définir une fonction en python 6 / 20 1.2 Fonction sans paramètre 1 2 3 4 def table7(): """fonction permettant d’obtenir la table par 7""" for k in range(1,11): print(’%s x 7 = %s’ %(k,k*7)) Pour utiliser la fonction, il suffit de l’appeler par son nom soit dans le même fichier soit dans le terminal. Les fonctions en python Définir une fonction en python 6 / 20 1.2 Fonction sans paramètre 1 2 3 4 def table7(): """fonction permettant d’obtenir la table par 7""" for k in range(1,11): print(’%s x 7 = %s’ %(k,k*7)) Pour utiliser la fonction, il suffit de l’appeler par son nom soit dans le même fichier soit dans le terminal. 1 2 3 4 5 6 7 8 9 10 11 >>> table7() 1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35 6 x 7 = 42 7 x 7 = 49 8 x 7 = 56 9 x 7 = 63 10 x 7 = 70 Les fonctions en python Définir une fonction en python 6 / 20 1.3 Fonction avec un paramètre Les fonctions en python Définir une fonction en python 7 / 20 1.3 Fonction avec un paramètre Exercice Écrire un algorithme puis une fonction table(...) qui affiche la table de multiplication de n’importe quel nombre de 1 à 10. Les fonctions en python Définir une fonction en python 7 / 20 1.3 Fonction avec un paramètre Exercice Écrire un algorithme puis une fonction table(...) qui affiche la table de multiplication de n’importe quel nombre de 1 à 10. Le principe est le même, hormis que que l’utilisateur doit entrer un nombre qui servira de base aux calculs. Les fonctions en python Définir une fonction en python 7 / 20 1.3 Fonction avec un paramètre Exercice Écrire un algorithme puis une fonction table(...) qui affiche la table de multiplication de n’importe quel nombre de 1 à 10. Le principe est le même, hormis que que l’utilisateur doit entrer un nombre qui servira de base aux calculs. Entrée : Saisir le nombre de base. Traitement et Sortie Pour k allant de 1 à 10 faire Afficher « k x base ». FinPour FinTraitement Les fonctions en python Définir une fonction en python 7 / 20 1.3 Fonction avec un paramètre Les fonctions en python Définir une fonction en python 8 / 20 1.3 Fonction avec un paramètre 1 2 3 4 def table(base): """ fonction permettant d’obtenir la table par base""" for k in range(1,11) : print(’%s x %s = %s’ %(k,base,k*base)) Les fonctions en python Définir une fonction en python 8 / 20 1.3 Fonction avec un paramètre 1 2 3 4 def table(base): """ fonction permettant d’obtenir la table par base""" for k in range(1,11) : print(’%s x %s = %s’ %(k,base,k*base)) On appelle la fonction en lui indiquant base comme paramètre. Les fonctions en python Définir une fonction en python 8 / 20 1.3 Fonction avec un paramètre 1 2 3 4 def table(base): """ fonction permettant d’obtenir la table par base""" for k in range(1,11) : print(’%s x %s = %s’ %(k,base,k*base)) On appelle la fonction en lui indiquant base comme paramètre. 1 2 3 4 5 6 7 8 9 10 11 >>> table(13) # table de 13 1 x 13 = 13 2 x 13 = 26 3 x 13 = 39 4 x 13 = 52 5 x 13 = 65 6 x 13 = 78 7 x 13 = 91 8 x 13 = 104 9 x 13 = 117 10 x 13 = 130 Les fonctions en python Définir une fonction en python 8 / 20 1.3 Fonction avec un paramètre 1 2 3 4 def table(base): """ fonction permettant d’obtenir la table par base""" for k in range(1,11) : print(’%s x %s = %s’ %(k,base,k*base)) On appelle la fonction en lui indiquant base comme paramètre. 1 2 3 4 5 6 7 8 9 10 11 >>> table(13) # table de 13 1 x 13 = 13 2 x 13 = 26 3 x 13 = 39 4 x 13 = 52 5 x 13 = 65 6 x 13 = 78 7 x 13 = 91 8 x 13 = 104 9 x 13 = 117 10 x 13 = 130 Les fonctions en python 1 2 3 4 5 6 7 8 9 10 11 >>> table(9) # table de 9 1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45 6 x 9 = 54 7 x 9 = 63 8 x 9 = 72 9 x 9 = 81 10 x 9 = 90 Définir une fonction en python 8 / 20 1.4 Fonction avec plusieurs paramètres Les fonctions en python Définir une fonction en python 9 / 20 1.4 Fonction avec plusieurs paramètres Exercice Écrire un algorithme puis une fonction tableMulti(...) qui affiche la table de multiplication de n’importe quel nombre en choisissant le début et la fin de la table. Les fonctions en python Définir une fonction en python 9 / 20 1.4 Fonction avec plusieurs paramètres Exercice Écrire un algorithme puis une fonction tableMulti(...) qui affiche la table de multiplication de n’importe quel nombre en choisissant le début et la fin de la table. Reste à modifier l’algorithme précédent avec les paramètres debut et fin. Les fonctions en python Définir une fonction en python 9 / 20 1.4 Fonction avec plusieurs paramètres Exercice Écrire un algorithme puis une fonction tableMulti(...) qui affiche la table de multiplication de n’importe quel nombre en choisissant le début et la fin de la table. Reste à modifier l’algorithme précédent avec les paramètres debut et fin. Entrée : Saisir base, debut, fin. Traitement et Sortie Pour k allant de debut à fin faire Afficher « k ∗ base ». FinPour FinTraitement Les fonctions en python Définir une fonction en python 9 / 20 1.4 Fonction avec plusieurs paramètres Les fonctions en python Définir une fonction en python 10 / 20 1.4 Fonction avec plusieurs paramètres 1 2 3 4 5 def tableMulti(base, debut, fin): """fonction permettant d’obtenir la table par base de debut à fin""" print(’Fragment de la table de multiplication par %s :’ %base) for k in range(debut,fin+1): print(’%s x %s = %s’ %(k,base,k*base)) Les fonctions en python Définir une fonction en python 10 / 20 1.4 Fonction avec plusieurs paramètres 1 2 3 4 5 def tableMulti(base, debut, fin): """fonction permettant d’obtenir la table par base de debut à fin""" print(’Fragment de la table de multiplication par %s :’ %base) for k in range(debut,fin+1): print(’%s x %s = %s’ %(k,base,k*base)) Cette fonction utilise les trois paramètres : base, debut et fin. Les fonctions en python Définir une fonction en python 10 / 20 1.4 Fonction avec plusieurs paramètres 1 2 3 4 5 def tableMulti(base, debut, fin): """fonction permettant d’obtenir la table par base de debut à fin""" print(’Fragment de la table de multiplication par %s :’ %base) for k in range(debut,fin+1): print(’%s x %s = %s’ %(k,base,k*base)) Cette fonction utilise les trois paramètres : base, debut et fin. 1 2 3 4 5 6 7 8 9 10 11 >>> tableMulti(8, 13, 21) Fragment de la table de multiplication par 8 : 13 x 8 = 104 14 x 8 = 112 15 x 8 = 120 16 x 8 = 128 17 x 8 = 136 18 x 8 = 144 19 x 8 = 152 20 x 8 = 160 21 x 8 = 168 Les fonctions en python Définir une fonction en python 10 / 20 1.5 Remarque importante Les fonctions en python Définir une fonction en python 11 / 20 1.5 Remarque importante Il est possible de regrouper chacune des fonctions table7(), table() et tableMulti() dans un même fichier multiplication.py. Les fonctions en python Définir une fonction en python 11 / 20 1.5 Remarque importante Il est possible de regrouper chacune des fonctions table7(), table() et tableMulti() dans un même fichier multiplication.py. Après avoir chargé ce fichier, essayer les commandes : Les fonctions en python Définir une fonction en python 11 / 20 1.5 Remarque importante Il est possible de regrouper chacune des fonctions table7(), table() et tableMulti() dans un même fichier multiplication.py. Après avoir chargé ce fichier, essayer les commandes : 1 2 3 >>> help(table7) >>> help(table) >>> help(tableMulti) Les fonctions en python # pas de parenthèses ici Définir une fonction en python 11 / 20 2 Les modules en python Les fonctions en python Les modules en python 12 / 20 2.1 Un module, c’est quoi ? Les fonctions en python Les modules en python 13 / 20 2.1 Un module, c’est quoi ? En python, certaines fonctions font partie du « pack » de base qui est toujours disponible, par exemple, len(), input(), print(), . . . Les fonctions en python Les modules en python 13 / 20 2.1 Un module, c’est quoi ? En python, certaines fonctions font partie du « pack » de base qui est toujours disponible, par exemple, len(), input(), print(), . . . D’autres fonctions, comme les fonctions sin et cos ne sont pas présentes dans le « pack » de base contrairement à l’addition, la soustraction, . . . Les fonctions en python Les modules en python 13 / 20 2.1 Un module, c’est quoi ? En python, certaines fonctions font partie du « pack » de base qui est toujours disponible, par exemple, len(), input(), print(), . . . D’autres fonctions, comme les fonctions sin et cos ne sont pas présentes dans le « pack » de base contrairement à l’addition, la soustraction, . . . Il faut donc faire appel aux modules . . . Les fonctions en python Les modules en python 13 / 20 2.1 Un module, c’est quoi ? En python, certaines fonctions font partie du « pack » de base qui est toujours disponible, par exemple, len(), input(), print(), . . . D’autres fonctions, comme les fonctions sin et cos ne sont pas présentes dans le « pack » de base contrairement à l’addition, la soustraction, . . . Il faut donc faire appel aux modules . . . Définition Un module en python est une bibliothèque de fonction, non disponible directement au chargement de python. Les fonctions en python Les modules en python 13 / 20 2.2 Le module math Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Définition Le module math contient toutes le fonctions indispensables en mathématiques. Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Définition Le module math contient toutes le fonctions indispensables en mathématiques. On peut importer une fonction particulière : Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Définition Le module math contient toutes le fonctions indispensables en mathématiques. On peut importer une fonction particulière : 1 >>> from math import sqrt # importe la fonction racine carrée Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Définition Le module math contient toutes le fonctions indispensables en mathématiques. On peut importer une fonction particulière : 1 >>> from math import sqrt # importe la fonction racine carrée On peut importer un module en entier : Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Définition Le module math contient toutes le fonctions indispensables en mathématiques. On peut importer une fonction particulière : 1 >>> from math import sqrt # importe la fonction racine carrée On peut importer un module en entier : 1 2 3 4 5 6 7 >>> from math import * # importe tout le module math >>> pi 3.141592653589793 # ou >>> import math # méthode préconisée >>> math.pi 3.141592653589793 Les fonctions en python Les modules en python 14 / 20 2.2 Le module math Les fonctions en python Les modules en python 15 / 20 2.2 Le module math Pour connaître le contenu d’un module : Les fonctions en python Les modules en python 15 / 20 2.2 Le module math Pour connaître le contenu d’un module : 1 2 3 4 5 6 7 8 >>> dir(math) [’__doc__’, ’__name__’, ’__package__’, ’acos’, ’acosh’, ’asin’, ’asinh’, ’atan’, ’atan2’, ’atanh’, ’ceil’, ’copysign’, ’cos’, ’cosh’, ’degrees’, ’e’, ’erf’, ’erfc’, ’exp’, ’expm1’, ’fabs’, ’factorial’, ’floor’, ’fmod’, ’frexp’, ’fsum’, ’gamma’, ’hypot’, ’isfinite’, ’isinf’, ’isnan’, ’ldexp’, ’lgamma’, ’log’, ’log10’, ’log1p’, ’modf’, ’pi’, ’pow’, ’radians’, ’sin’, ’sinh’, ’sqrt’, ’tan’, ’tanh’, ’trunc’] Les fonctions en python Les modules en python 15 / 20 2.2 Le module math Pour connaître le contenu d’un module : 1 2 3 4 5 6 7 8 >>> dir(math) [’__doc__’, ’__name__’, ’__package__’, ’acos’, ’acosh’, ’asin’, ’asinh’, ’atan’, ’atan2’, ’atanh’, ’ceil’, ’copysign’, ’cos’, ’cosh’, ’degrees’, ’e’, ’erf’, ’erfc’, ’exp’, ’expm1’, ’fabs’, ’factorial’, ’floor’, ’fmod’, ’frexp’, ’fsum’, ’gamma’, ’hypot’, ’isfinite’, ’isinf’, ’isnan’, ’ldexp’, ’lgamma’, ’log’, ’log10’, ’log1p’, ’modf’, ’pi’, ’pow’, ’radians’, ’sin’, ’sinh’, ’sqrt’, ’tan’, ’tanh’, ’trunc’] Pour avoir des informations sur une fonction, on utilise help(<fonction>), ou mieux, aller lire la documentation en ligne. Les fonctions en python Les modules en python 15 / 20 2.2 Le module math Pour connaître le contenu d’un module : 1 2 3 4 5 6 7 8 >>> dir(math) [’__doc__’, ’__name__’, ’__package__’, ’acos’, ’acosh’, ’asin’, ’asinh’, ’atan’, ’atan2’, ’atanh’, ’ceil’, ’copysign’, ’cos’, ’cosh’, ’degrees’, ’e’, ’erf’, ’erfc’, ’exp’, ’expm1’, ’fabs’, ’factorial’, ’floor’, ’fmod’, ’frexp’, ’fsum’, ’gamma’, ’hypot’, ’isfinite’, ’isinf’, ’isnan’, ’ldexp’, ’lgamma’, ’log’, ’log10’, ’log1p’, ’modf’, ’pi’, ’pow’, ’radians’, ’sin’, ’sinh’, ’sqrt’, ’tan’, ’tanh’, ’trunc’] Pour avoir des informations sur une fonction, on utilise help(<fonction>), ou mieux, aller lire la documentation en ligne. 1 2 3 >>> import math >>> help(math.cos) Help on built-in function cos in module math: 4 5 6 cos(...) cos(x) 7 8 Return the cosine of x (measured in radians). Les fonctions en python Les modules en python 15 / 20 2.3 Le module random Les fonctions en python Les modules en python 16 / 20 2.3 Le module random Définition Le module random contient toutes les fonctions indispensables relatives à l’aléatoire. Les fonctions en python Les modules en python 16 / 20 2.3 Le module random Définition Le module random contient toutes les fonctions indispensables relatives à l’aléatoire. Les principales fonctions de ce module que nous utiliserons : randint(a,b) : renvoie aléatoirement un entier compris entre a et b (inclus tous les deux). Attention : a et b doivent être entiers (négatifs éventuellement). random() : renvoie aléatoirement un réel compris entre 0 (inclus) et 1 (exclu). Les fonctions en python Les modules en python 16 / 20 2.3 Le module random Définition Le module random contient toutes les fonctions indispensables relatives à l’aléatoire. Les principales fonctions de ce module que nous utiliserons : randint(a,b) : renvoie aléatoirement un entier compris entre a et b (inclus tous les deux). Attention : a et b doivent être entiers (négatifs éventuellement). random() : renvoie aléatoirement un réel compris entre 0 (inclus) et 1 (exclu). 1 2 3 4 5 >>> import random >>> random.randint(2,75) 63 >>> random.random() 0.46480356897753472 Les fonctions en python Les modules en python 16 / 20 2.4 Le module time Les fonctions en python Les modules en python 17 / 20 2.4 Le module time Définition Le module time contient des fonctions relatives au temps machine. Les fonctions en python Les modules en python 17 / 20 2.4 Le module time Définition Le module time contient des fonctions relatives au temps machine. Les principales fonctions de ce module que nous utiliserons : la fonction time() permet de récupérer un temps machine (donc par différence de chronométrer). la fonction localtime() permet de récupérer l’« heure ». la fonction sleep() permet de faire des pauses. Les fonctions en python Les modules en python 17 / 20 2.4 Le module time Définition Le module time contient des fonctions relatives au temps machine. Les principales fonctions de ce module que nous utiliserons : la fonction time() permet de récupérer un temps machine (donc par différence de chronométrer). la fonction localtime() permet de récupérer l’« heure ». la fonction sleep() permet de faire des pauses. Exercice Écrire un algorithme puis une fonction toto qui affiche les entiers de 0 à 5 en faisant une pause de 1 s entre les affichages ; calcul le temps nécessaire à l’exécution de cette fonction. Les fonctions en python Les modules en python 17 / 20 2.4 Le module time Les fonctions en python Les modules en python 18 / 20 2.4 Le module time 1 import time # importe le module time 2 3 4 5 6 7 8 9 10 11 12 def toto(): """essai du module time avec une boucle tant que""" c1=time.time() i=0 while i<6: print(i, end=’ ’) time.sleep(1) i=i+1 c2=time.time() print("Temps écoulé :",c2-c1) Les fonctions en python Les modules en python 18 / 20 2.4 Le module time 1 import time # importe le module time 2 3 4 5 6 7 8 9 10 11 12 1 def toto(): """essai du module time avec une boucle tant que""" c1=time.time() i=0 while i<6: print(i, end=’ ’) time.sleep(1) i=i+1 c2=time.time() print("Temps écoulé :",c2-c1) import time # importe le module time 2 3 4 5 6 7 8 9 10 def toto(): """essai du module time avec une boucle for""" c1=time.time() for i in range(6): print(i, end=’ ’) time.sleep(1) c2=time.time() print("Temps écoulé :",c2-c1) Les fonctions en python Les modules en python 18 / 20 2.5 Le module turtle Les fonctions en python Les modules en python 19 / 20 2.5 Le module turtle Définition Le module turtle permet de réaliser des « graphiques tortue », c’est-à-dire des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples. Les fonctions en python Les modules en python 19 / 20 2.5 Le module turtle Définition Le module turtle permet de réaliser des « graphiques tortue », c’est-à-dire des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples. 1 import turtle 2 3 4 5 6 7 8 turtle.forward(120) turtle.left(90) turtle.color(’red’) turtle.forward(80) # Et bien d’autres actions # cf. plus tard ... Les fonctions en python Les modules en python 19 / 20 2.5 Le module turtle Définition Le module turtle permet de réaliser des « graphiques tortue », c’est-à-dire des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples. 1 import turtle 2 3 4 5 6 7 8 turtle.forward(120) turtle.left(90) turtle.color(’red’) turtle.forward(80) # Et bien d’autres actions # cf. plus tard ... Les fonctions en python Les modules en python 19 / 20 FIN Les fonctions en python Les modules en python 20 / 20
© Copyright 2024 Paperzz