thon}}
====== Python: les fonctions ======
Une fonction se définit avec l'instruction *def*, suivie du nom de la fonction, dans l'exemple qui suit, on l'appelle simplement... re un bloc de code, ce sera le bloc de code de la fonction.
<code python>
def f(a, b, c):
print(a, b, ... que la définition est évalué par python, un objet fonction est créé et le nom de la fonction, *f*, va être u
ssages d'arguments ======
Lorsque on définit une fonction, comme par exemple:
<code python>
def sum(a,b):
# bloc d'instructions
# de la fonction sum
# ...
</code>
Les variables *a* et *b* sont désignés **paramètres de la fonction**.
Lorsqu'on appelle la fonction, par exemple avec *sum(x, y)*, les variables *x* et *y* représentent ce qu
que **la portée d'une variable est déterminée en fonction de l'endroit dans le code où cette variable est d... *.
* Une variable locale au bloc de code d'une fonction est ce qu'on appelle une **variable locale**. Une... iable que l'on définit dans le bloc de code de la fonction sera locale. Lorsque la fonction retourne, toutes les variables locales de la fonction sont détruites.
*
{{tag>cours python lambda}}
====== Python: fonction lambda, map et filter ======
Python est un langage ... Alors on peut se demander mais **à quoi sert une fonction lambda** ? Pour commencer, il faut savoir que tout ce qu'on peut faire avec une fonction lambda, on peut le faire avec une fonction traditionnelle. Par conséquent, les fonctions lambda ne sont en
es exceptions.
Commençons par écrire une petite fonction toute simple: def div(a, b) C'est une fonction qui prend deux arguments a et b, et qui va juste faire un pr... ment rien de compliqué, rien de subtil une simple fonction qui fait une division. Je sauvegarde, je vous rap... e vois à gauche, dans mon interpréteur Python, la fonction qui vient de s'exécuter. Je peux donc maintenant
e ont été abordées. Une variable définie dans une fonction est locale à cette fonction. On présente ici **comment modifier la portée des variables avec les instructio... dre une variable locale de portée locale dans une fonction englobante.
===== L'instruction global =====
<c... 'a globale'
def f():
# une définition dans une fonction crée une
# variable locale
a = 'a locale'
p
s éléments d'un **itérable**, on peut utiliser la fonction *built-in* ''sum'':
<code python>
>>> sum(carre)... sion génératrice est un itérateur
# l'appel de la fonction sum le consomme
>>> total = sum(carre)
>>> print... es. Mais comme ce sera défini à l'intérieur d'une fonction, vous aurez toute la souplesse de ce que vous pouvez définir dans une fonction.
Revenons sur la notion de **fonction**. Lorsque
coexiste dans le même fichier à l'intérieur d'une fonction et à l'intérieur d'un module. Nous avons égalemen... elle `spam.py` contenant une constante *x* et une fonction f qui l'affiche:
<code python spam.py>
""" Le module spam contient une variable et une fonction"""
x = 1
def f():
print(x)
</code>
On défin... re espace de nommage qui est créé à l'appel de la fonction et détruit dès que la fonction retourne.
Mainten
pour l'accès, la modification et l'effacement en fonction d'un numéro de séquence. Cependant, ces types n'o... t d'appartenance sur une séquence est linéaire en fonction du nombre d'éléments que j'ai dans ma séquence. L... us avons ici un tableau avec 6 éléments, et d'une fonction dont le but est le suivant: lorsque je passe à ma fonction un objet elle va me calculer une valeur qui va êt
nom de la classe, on appelle la classe comme une fonction.
<code python>
>>> p = Phrase()
>>> print(p)
<_... in ou des opérateurs pour y accéder. Ici c'est la fonction built-in "vars()" qui permet d'accéder à ce dicti... d'héritage est faite de manière **dynamique** en fonction de l'état des espaces de nommage au moment où on ... " qui contient la liste des mots retournée par la fonction "split()" appliquée à l'attribut précédent "Phras
ent obtenir le nombre de mots directement avec la fonction *built-in* ''len()'';
* Faire un test d'apparte... omatiquement lorsque l'on utilise par exemple une fonction *built-in*, un opérateur comme une addition ou al...
Si on souhaite obtenir le nombre de mots avec la fonction built-in ''len()'' exactement comme on le ferait ... sses, c'est la méthode qui permet de supporter la fonction *built-in* ''print()''. Par défaut si on appelle
lle la méthode sort l'[[460_arguments_et_appel_de_fonction|argument nommé]] *key* qui désigne une fonction, qui lorsqu'elle est appliquée à un élément de la liste, re... vir de base au tri: pour l'exemple on définit une fonction longitude, qui renvoie le second élément du tuple... ):
... return e[1]
# on invoque sort avec la fonction longitude définie précédemment
# qui lui permett
jusqu'à la fin, et que lorsque l'on rencontre une fonction, on va créer les objets fonction ; par contre, le bloc de code de la fonction ne sera évalué qu'à l'appel de la fonction.
Le processus d'**importation** étant une opération coûteuse, l
r un set, un set vide. Je vais le créer avec **la fonction built-in set**. J'ai bien un objet de type *set*q... répétitive d'ajout d'élément dans un set, avec la fonction update(). Donc je prends update d'une séquence 1,... ce, ça représente essentiellement un calcul d'une fonction de hash sur l'objet que vous voulez chercher. Cette fonction de hash va vous donner une case et ensuite vous a
en étudiant comment définir les paramètres d'une fonction et les différentes manières d'appeler une fonction.
* [[410_fontions|Fonctions]]
* [[420_tests_et_ope... bal et nonlocal]]
* [[460_arguments_et_appel_de_fonction|Passage d'arguments et appel de fonctions]]
====... ion]]
* [[[520_fonctions_lamda_map_filter|Objet fonction, fonction lambda, map et filter]]
* [[530_compr