Область видимості

Написання функцій у Python

Shayne Miel

Software Architect @ Duo Security

Імена

том

Написання функцій у Python

Імена

том і жанелл

Написання функцій у Python

Область видимості

том і жанелл

Написання функцій у Python

Область видимості

том, жанелл і ще один том

Написання функцій у Python

Область видимості

x = 7
y = 200
print(x)
7
def foo():
    x = 42
    print(x)
    print(y)
foo()
42
200
print(x)
7
Написання функцій у Python

Область видимості

питання про область видимості

Написання функцій у Python

Область видимості

локальна область

Написання функцій у Python

Область видимості

глобальна область

Написання функцій у Python

Область видимості

вбудована область

Написання функцій у Python

Область видимості

нелокальна область

Написання функцій у Python

Ключове слово 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
Написання функцій у Python

Ключове слово 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
Написання функцій у Python

Давайте потренуємось!

Написання функцій у Python

Preparing Video For Download...