Programmation Python/Fonction

Un livre de Wikilivres.
Aller à : navigation, rechercher
Programmation Python

Python-logo-notext.svg

Partie 1 : Introduction
Partie 2 : Le langage
Partie 3 : Les bibliothèques
Annexe
Modifier ce modèle

Définition[modifier | modifier le wikitexte]

Une fonction est définie par le spécificateur def suivi du nom de la fonction et de ses paramètres.

def nomFonction(arg)
    return val

Utilisation[modifier | modifier le wikitexte]

def fac (n):
    f = 1
    i = 1
    while i <= n:
         f = f * i
         i = i + 1
    return f # la valeur retournée

l'appel se fait par

fac(7) //> 5040

Retour de valeur[modifier | modifier le wikitexte]

>>> def f(x):
         ...     
         return x*2

Le return retourne la valeur

Passage d'argument[modifier | modifier le wikitexte]

>>> def f(x,y):
        ...     
        return x*y

La signature est ici x et y en paramètre

Fonction lambda[modifier | modifier le wikitexte]

Une fonction lambda est une fonction anonyme : elle n'est pas définie par def.

>>> def f(x):
...     return x*2
...     
>>> f(3)
6
>>> g = lambda x: x*2  //1
>>> g(3)
6
>>> (lambda x: x*2)(3) //2
6

1 et 2 sont des fonctions lambdas.

Récupérer les arguments de la ligne de commande[modifier | modifier le wikitexte]

la variable sys.argv contient les arguments de la ligne de commande, sous forme d'une liste dont le premier élément est le nom du script invoqué exemple :

si le script truc.py contient

#!/usr/bin/python
#-*- coding: utf-8 -*-
import sys
print u"Arguments : ", sys.argv

alors l'invocation :

$ python truc.py -a rien -n=nervures

produira la sortie

Arguments :  ['truc.py', '-a', 'rien', '-n=nervures']

si on veut récuperer le Argument 2

#!/usr/bin/python
#-*- coding: utf-8 -*-
import sys
print u"Arguments 2 : ", sys.argv[2]

produira la sortie

Arguments :  ['rien']