Browse Source

Move 'return' function before 'several arguments'

master
Dimitri Merejkowsky 4 years ago
parent
commit
31103d94fd
8 changed files with 48 additions and 63 deletions
  1. +8
    -3
      cours/source/05-fonctions-01/01-functions.rst
  2. +12
    -6
      cours/source/05-fonctions-01/02-portée-des-variables.rst
  3. +18
    -0
      cours/source/05-fonctions-01/03-return.rst
  4. +2
    -4
      cours/source/05-fonctions-01/04-plusieurs-arguments.rst
  5. +4
    -4
      cours/source/05-fonctions-01/05-par-défaut.rst
  6. +0
    -0
      cours/source/05-fonctions-01/06-fonctions-natives.rst
  7. +0
    -42
      cours/source/05-fonctions-01/06-return.rst
  8. +4
    -4
      cours/source/05-fonctions-01/index.rst

+ 8
- 3
cours/source/05-fonctions-01/01-functions.rst View File

@@ -19,7 +19,7 @@ Appel::


* avec le nom de la fonction et des parenthèses * avec le nom de la fonction et des parenthèses


Example complet::
Exemple complet::


def dire_bonjour(): def dire_bonjour():
print("Bonjour") print("Bonjour")
@@ -27,6 +27,11 @@ Example complet::
dire_bonjour() dire_bonjour()
# Affiche: bonjour' # Affiche: bonjour'


* Le *nom* de la fonction est le mot utilisé pour la définir et l'appeler
* Le *corps* de la fonction est le bloc après le `def()`

* Quand on *définit* une fonction, on associe un nom avec un corps.
* Quand on *appelle* une fonction, on exécute le corps.


Le pouvoir des fonctions Le pouvoir des fonctions
------------------------ ------------------------
@@ -48,7 +53,7 @@ Fonction avec un argument
Définition: avec l'argument à l'intérieur des parenthèses:: Définition: avec l'argument à l'intérieur des parenthèses::


def dire_bonjour(prénom): def dire_bonjour(prénom):
print("Bonjour " + prénom)
print("Bonjour " + prénom)


Appel: en passant une variable ou une valeur dans les parenthèses:: Appel: en passant une variable ou une valeur dans les parenthèses::


@@ -75,7 +80,7 @@ Exemple complet::




def dire_bonjour(prénom): def dire_bonjour(prénom):
print("Bonjour " + prénom)
print("Bonjour " + prénom)
dire_bonjour("Germaine") dire_bonjour("Germaine")
# affiche: Bonjour Germaine # affiche: Bonjour Germaine




+ 12
- 6
cours/source/05-fonctions-01/02-portée-des-variables.rst View File

@@ -6,7 +6,7 @@ Portée des variables
Les arguments d'une fonction n'existent que dans le corps de celle-ci:: Les arguments d'une fonction n'existent que dans le corps de celle-ci::


def dire_bonjour(prénom): def dire_bonjour(prénom):
print("Bonjour " + prénom)
print("Bonjour " + prénom)


dire_bonjour("Dimitri") # Ok dire_bonjour("Dimitri") # Ok
print(prénom) # Erreur print(prénom) # Erreur
@@ -17,15 +17,21 @@ Les variables en dehors des fonctions sont disponibles partout::
salutation = "Bonjour " salutation = "Bonjour "


def dire_bonjour(prénom): def dire_bonjour(prénom):
print(salutation + prénom)
print(salutation + prénom)


dire_bonjour("Dimitri") dire_bonjour("Dimitri")


Une variable peut avoir en "cacher" une autre si elle a une portée différente:: Une variable peut avoir en "cacher" une autre si elle a une portée différente::


def dire_bonjour(prénom):
print("Bonjour " + prénom) # portée: uniquement dans
# le corps dire_bonjour


prénom = "Dimitri" # portée: dans tout le programme prénom = "Dimitri" # portée: dans tout le programme
dire_bonjour(prénom) # Ok

def dire_bonjour():
prénom = Max # portée: uniquement dans
# le corps dire_bonjour

print("Bonjour " + prénom)
# affiche: Bonjour Max

print("Bonjour " + prénom) j
# affiche: Bonjour Dimitri

+ 18
- 0
cours/source/05-fonctions-01/03-return.rst View File

@@ -0,0 +1,18 @@
Valeur de retour d'une fonction
=================================

On peut également appeler une fonction dans une expression
à droite d'une assignation de variable.

Dans ce cas, la valeur de l'expression est obtenue en
éxécutant le corps de la fonction jusqu'à rencontrer l'instruction
`return` et en évaluant l'expression à droite du return.

Par exemple::

def retourne_42():
return 42

x = retourne_42()
print(x)
# Affiche: 42

cours/source/05-fonctions-01/03-plusieurs-arguments.rst → cours/source/05-fonctions-01/04-plusieurs-arguments.rst View File

@@ -1,13 +1,11 @@
Fonctions à plusieurs arguments Fonctions à plusieurs arguments
=============================== ===============================


# TODO: Insérer la section sur return plus tôt

On peut mettre autant d'arguments qu'on veut, séparés On peut mettre autant d'arguments qu'on veut, séparés
par des virgules:: par des virgules::


def soustraction(x, y): def soustraction(x, y):
résultat = x - y
résultat = x - y
return résultat return résultat


résultat = soustraction(5, 4) résultat = soustraction(5, 4)
@@ -21,7 +19,7 @@ En Python, on peut aussi utiliser le *nom* des arguments au lieu de
leur position:: leur position::


def dire_bonjour(prénom): def dire_bonjour(prénom):
print("Bonjour " + prénom)
print("Bonjour " + prénom)


dire_bonjour(prénom="Gertrude") dire_bonjour(prénom="Gertrude")
# Affiche: Bonjour Gertrude # Affiche: Bonjour Gertrude

cours/source/05-fonctions-01/04-par-défaut.rst → cours/source/05-fonctions-01/05-par-défaut.rst View File

@@ -4,10 +4,10 @@ Arguments par défaut
On peut aussi mettre des valeurs par défaut:: On peut aussi mettre des valeurs par défaut::


def dire_bonjour(prénom, enthousiaste=False): def dire_bonjour(prénom, enthousiaste=False):
message = "Bonjour " + prénom
if enthousiaste:
message += "!"
print(message)
message = "Bonjour " + prénom
if enthousiaste:
message += "!"
print(message)


Appel:: Appel::



cours/source/05-fonctions-01/05-fonctions-natives.rst → cours/source/05-fonctions-01/06-fonctions-natives.rst View File


+ 0
- 42
cours/source/05-fonctions-01/06-return.rst View File

@@ -1,42 +0,0 @@
Valeur de retour d'une fonction
=================================

Définition avec le mot ``return``::

def additionner(x, y):
return x + y

Récupérer la valeur de retour::

a = 3
b = 4
c = additionner(a, b) # encore une assignation
print(c)
# Affche: 7

Sortir d'une fonction avec return
---------------------------------

``return`` interrompt également l'éxécution du
corps de la fonction::

def dire_bonjour(prénom, première_fois=False):
print("Bonjour", prénom)
if not première_fois:
return
print("Heureux de faire votre connaissance")

dire_bonjour("Dimitri", première_fois=True)

.. code-block:: text

Bonjour Dimitri
Heureux de faire votre connaissance

.. code-block:: python

dire_bonjour("Dimitri", première_fois=False)

.. code-block:: text

Bonjour Dimitri

+ 4
- 4
cours/source/05-fonctions-01/index.rst View File

@@ -6,8 +6,8 @@ Chapitre 5 - Introduction aux fonctions


01-functions.rst 01-functions.rst
02-portée-des-variables.rst 02-portée-des-variables.rst
03-plusieurs-arguments.rst
04-par-défaut.rst
05-fonctions-natives.rst
06-return.rst
03-return.rst
04-plusieurs-arguments.rst
05-par-défaut.rst
06-fonctions-natives.rst
07-exercice.rst 07-exercice.rst