Portée

Écrire des fonctions en Python

Shayne Miel

Software Architect @ Duo Security

Noms

tom

Écrire des fonctions en Python

Noms

tom et janelle

Écrire des fonctions en Python

Portée

tom et janelle

Écrire des fonctions en Python

Portée

tom, janelle et un autre tom

Écrire des fonctions en Python

Portée

x = 7
y = 200
print(x)
7
def foo():
    x = 42
    print(x)
    print(y)
foo()
42
200
print(x)
7
Écrire des fonctions en Python

Portée

question sur la portée

Écrire des fonctions en Python

Portée

portée locale

Écrire des fonctions en Python

Portée

portée globale

Écrire des fonctions en Python

Portée

portée intégrée

Écrire des fonctions en Python

Portée

portée non locale

Écrire des fonctions en Python

Le mot-clé global

x = 7

def foo():
  x = 42
  print(x)

foo()
42
print(x)
7
x = 7

def foo():
  global x
  x = 42
  print(x)

foo()
42
print(x)
42
Écrire des fonctions en Python

Le mot-clé nonlocal

def foo():
  x = 10

  def bar():
    x = 200
    print(x)

  bar()
  print(x)

foo()
200
10
def foo():
  x = 10

  def bar():
    nonlocal x
    x = 200
    print(x)

  bar()
  print(x)

foo()
200
200
Écrire des fonctions en Python

Passons à la pratique !

Écrire des fonctions en Python

Preparing Video For Download...