12/12/2024 16:52 Les fonctions python
Les fonctions python
Accueil › Python débutant › Les fonctions python
Les dictionnaires
Les fonctions natives
Une fonction (ou function ) est une suite d'instructions que l'on peut appeler avec un nom.
Créer ma première fonction
Créons une fonction qui nous retournera un âge:
>>> def indique_mon_age():
... return 30;
...
>>> indique_mon_age()
30
Vous ne pouvez pas copier coller ce code, vous devez entrer chaque ligne à la main et appuyer sur
entrée pour retourner à la ligne. Les 3 chevrons et les 3 points sont affichés par l'interpréteur
python.
Tout d'abord pour indiquer à l'interpréteur que vous voulez créer une fonction , on utiliser le mot
clé def suivi d'un nom puis de parenthèses et ensuite d'un double point.
On remarque également qu'il y a un espace entre les 3 points et le mot clé "return", il s'agit d'une
indentation , c'est à dire un espace qui améliore non seulement la lecture de la fonction mais qui
indique que nous sommes toujours dans la fonction. Lorsque l'action demandée n'est plus dans la
fonction, il ne faut plus indenter le texte. Pour indenter du texte, vous devez appuyer sur la touche
TAB de votre clavier -ou dans d'autres cas créer 4 espaces manuellement-.
Les paramètres
Créons une autre fonction:
>>> def augmente_moi(a):
... return augmente_moi + 2
...
>>> augmente_moi(1)
3
[Link] 1/8
12/12/2024 16:52 Les fonctions python
Cette fonction incrémente de 2 une valeur que l'on passe en paramètre.
Il est d'ailleurs possible d'utiliser plusieurs paramètres:
>>> def augmente_moi(a, b):
... return 30 + a + b
...
>>> augmente_moi(1, 2)
33
Si vous avez compris les principes des fonctions, vous avez compris 80% de ce qu'est la
programmation.
Un paramètre est obligatoire
Lorsque vous indiquez des paramètres à une fonction, ces dernièrs doivent impérativement être
renseignés sans quoi une erreur apparaitra.
>>> def augmente_moi(a, b):
... return 30 + a + b
...
>>> augmente_moi(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: augmente_moi() takes exactly 2 arguments (1 given)
L'opérateur splat
L'opérateur splat : * est très souvent utilisé en python.
def ma_function(*var)
def ma_function(**var)
ma_function(*var)
ma_function(**var)
Une liste en paramètre
On peut récupérer les valeurs renseignées via une liste:
>>> def augmente_moi(*param):
... return param[0] + param[1] + param[2]
...
>>> augmente_moi(1, 2, 3)
6
>>> augmente_moi(10, 20, 30)
60
[Link] 2/8
12/12/2024 16:52 Les fonctions python
Rendre obligatoire uniquement certains paramètres avec une liste
Si vous désirez rendre obligatoire uniquement certains paramètres, vous pouvez utiliser la syntaxe
suivante:
>>> def ma_fiche(prenom, nom, *reste):
... return prenom + " " + nom
...
>>> ma_fiche("olivier","engel")
'olivier engel'
On remarque que le paramètres " reste " est précédé d'une étoile * .
Utiliser un dictionnaire pour les paramètres
Vous pouvez utiliser un dictionnaire en paramètres pour cela vous devez ajouter une double étoile:
**
>>> def ma_fiche(**parametres):
... return parametres["prenom"]
...
>>> ma_fiche(prenom="olivier")
'olivier'
Utilisation de splat liste au niveau des appels de fonctions
Reprennons l'exemple de la fonction augmente_moi :
>>> def augmente_moi(*param):
... return param[0] + param[1] + param[2]
...
Nous avons vu qu'il était possible de faire ceci:
>>> augmente_moi(1, 2, 3)
6
L'utilisation de l'étoile permet de passer par une liste:
>>> data = [1, 2, 3]
>>> augmente_moi(*data)
6
Utilisation de splat dictionnaire au niveau des appels de fonctions
Prénons l'exemple de cette fonction:
[Link] 3/8
12/12/2024 16:52 Les fonctions python
>>> def test(firstname="", lastname=""):
... return "{} {}" .format(firstname, lastname)
Créons notre dictionnaire:
>>> data = {'firstname':'olivier', 'lastname':'engel'}
Et envoyons notre variable avec une étoile *
>>> test(*data)
'lastname firstname'
Puis avec deux étoiles **
>>> test(**data)
'olivier engel'
Portée des variables (variable globale et variable locale)
Une variable déclarée à la racine d'un module est visible dans tout ce module. On parle alors de
variable globale .
>>> x = "hello"
>>> def test():
... print x
...
>>> test()
hello
Et une variable déclarée dans une fonction ne sera visible que dans cette fonction. On parle alors
de variable locale .
>>> x = False
>>> def test():
... x = "hello"
...
>>> test()
>>> x
False
Procédure et fonctions
Pour votre culture informatique sachez qu'une fonction n'est pas obligée de renvoyer une valeur ,
on parlera alors dans ce cas plutôt de procédure .
Les dictionnaires
[Link] 4/8
12/12/2024 16:52 Les fonctions python
Les fonctions natives
Python débutant
Présentation Python
Installer Python
Interpréteur python
IDE Editeurs python
Calculs et variables
Les listes
Les tuples
Les dictionnaires
Les fonctions
Les fonctions natives
Conditions if elif else
Boucle for / while
Les modules/packages
Les exceptions
Les compréhensions de liste
Programmation orientée objet
Les décorateurs
Les itérateurs/générateurs
Expressions régulières
[Link] 5/8
12/12/2024 16:52 Les fonctions python
Lire / Editer un fichier
PEP 8 / bonnes pratiques
Black formateur de code
Python avancé
Différences python 2 / 3
Encodage python
Pip installe vos librairies
Virtualenv
Debug
Python Path
Gestion fichiers et dossiers
Interface graphique tKinter
Graphiques scientifiques
Programmation asynchrone
XML et python
BeautifulSoup / HTML parser
Créer un exécutable
Dossier partagé / samba
FTP / SFTP
Fabric SSH
Envoyer un mail SMTP
Réseau / socket
Base de données
Créer un serveur web
[Link] 6/8
12/12/2024 16:52 Les fonctions python
Websocket & Crossbar
Générateur de site statique
Numba
Tests unitaires
Deep Learning IA
Deep Learning & PyTorch
Block Chain
Django
Présentation Django
Installer Django
Initialiser un projet Django
Créer une application Django
ORM Django
Login Django
Les champs des modèles
Interface admin Django
Queryset
Many to many relation
Les vues
Les formulaires
CSRF Token
Les middlewares
Templates Django
Context Processor
[Link] 7/8
12/12/2024 16:52 Les fonctions python
Signaux Django
Xadmin
Django select2
Crispy Forms
AngularJS et Django
Uploader un fichier en ajax
Django Rest Framework
Django déploiement
Raspberry Pi
Présentation Raspberry pi
Installer Raspbian
IP statique
Samba / partager un dossier
Lire vidéo 1080p
Installer VPN
Client torrent
Site
Contacter l'auteur
Mentions légales
Apprendre programmation cours python 3
Django internet web - Documentation débutant et expert
Version anglaise
[Link] 8/8