Champ d’application et fonctions définies par l’utilisateur

Introduction aux fonctions en Python

Hugo Bowne-Anderson

Instructor

Cours intensif sur la portée dans les fonctions

  • Tous les objets ne sont pas accessibles partout dans un script

  • Portée - partie du programme où un objet ou un nom peut être accessible

    • Portée globale - définie dans le corps principal d'un script

    • Portée locale - définie à l'intérieur d'une fonction

    • Portée intégrée - noms dans le module intégré prédéfini

Introduction aux fonctions en Python

Portée globale ou locale (1)

def square(value):
    """Returns the square of a number."""
    new_val = value ** 2
    return new_val

square(3)
9
new_val
<hr />----------------------------------------------------------------
NameError                       Traceback (most recent call last)
<ipython-input-3-3cc6c6de5c5c> in <module>()
<hr />-> 1 new_value
NameError: name 'new_val' is not defined
Introduction aux fonctions en Python

Portée globale ou locale (2)

new_val = 10

def square(value):
    """Returns the square of a number."""
    new_val = value ** 2
    return new_val

square(3)
9
new_val
10
Introduction aux fonctions en Python

Portée globale ou locale (3)

new_val = 10

def square(value):
    """Returns the square of a number."""
    new_value2 = new_val ** 2
    return new_value2

square(3)
100
new_val = 20

square(new_val)
400
Introduction aux fonctions en Python

Portée globale ou locale (4)

new_val = 10

def square(value):
    """Returns the square of a number."""
    global new_val
    new_val = new_val ** 2
    return new_val

square(3)
100
new_val
100
Introduction aux fonctions en Python

Passons à la pratique !

Introduction aux fonctions en Python

Preparing Video For Download...