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

Example complet::
Exemple complet::

def dire_bonjour():
print("Bonjour")
@@ -27,6 +27,11 @@ Example complet::
dire_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
------------------------
@@ -48,7 +53,7 @@ Fonction avec un argument
Définition: avec l'argument à l'intérieur des parenthèses::

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::

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


def dire_bonjour(prénom):
print("Bonjour " + prénom)
print("Bonjour " + prénom)
dire_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::

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

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

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

dire_bonjour("Dimitri")

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
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
===============================

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

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

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

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

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

dire_bonjour(prénom="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::

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::


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
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