{{tag>cour fun-mooc python}}
====== 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 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 dev}}
====== Python: fonctions et passages 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 ave
{{tag>cours python lambda}}
====== Python: fonction lambda, map et filter ======
Python est un langage ... orte également certains concepts de programmation fonctionnelle. Pourquoi est-ce que Python supporte ces dif... n là où on en a besoin. Nous présentons ici les **fonctions lambda** et les fonctions **built-in map** et **filter**.
===== Les fonctions lambda =====
Les **fonctio
{{tag>cours python}}
====== Expressions et fonctions génératrices ======
Précédemment nous avons vu les no... er énormément de mémoire tout en gardant toute la fonctionnalité d'une compréhension.
Nous aborderons égale... n des expressions génératrices que l'on appelle **fonctions génératrices**.
===== Expression génératrice ==... s éléments d'un **itérable**, on peut utiliser la fonction *built-in* ''sum'':
<code python>
>>> sum(carre)
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
est un mécanisme qu'on utilise couramment dans un fonctionnement normal d'un programme. Ouvrons maintenant u... 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
coexiste dans le même fichier à l'intérieur d'une fonction et à l'intérieur d'un module. Nous avons égalemen... bles.
Ce **mécanisme d'isolation des variables** fonctionne avec ce qu'on appelle des **espaces de nommage*... partenant à un objet. En Python, les modules, les fonctions et nous verrons également les classes et les ins... elle `spam.py` contenant une constante *x* et une fonction f qui l'affiche:
<code python spam.py>
""" Le mo
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... eux limitations.
Commençons par regarder comment fonctionne une table de hash et dans de prochaines vidéos,... t implémentées en Python. Regardons maintenant le fonctionnement de ces tables de hash. Je vais vous présent
tiers, les listes, les chaînes de caractères, les fonctions, les modules, absolument tout. Et les caractéris... nom de la classe, on appelle la classe comme une fonction.
<code python>
>>> p = Phrase()
>>> print(p)
<_... es directement à la main, nous avons toujours des fonctions built-in ou des opérateurs pour y accéder. Ici c'est la fonction built-in "vars()" qui permet d'accéder à ce dicti
'', nous parlerons de compréhensions de liste, de fonctions et de modules. Également nous couvrirons la bouc... et à la syntaxe]]
* [[260_introduction_boucles_fonctions|Introduction aux boucles for et aux fonctions]]
* [[270_introduction_comprehension_de_listes|Introductio... sses|Introduction aux classes]]
===== Semaine 4: Fonctions et portée des variables =====
Cette séquence in
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
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... nant.
Ensuite, je peux manipuler un set avec les fonctions built-in len pour obtenir le nombre d'éléments ;... 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. Cet
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