Scope

Att skriva funktioner i Python

Shayne Miel

Software Architect @ Duo Security

Namn

tom

Att skriva funktioner i Python

Namn

tom och janelle

Att skriva funktioner i Python

Scope

tom och janelle

Att skriva funktioner i Python

Scope

tom, janelle och en till tom

Att skriva funktioner i Python

Scope

x = 7
y = 200
print(x)
7
def foo():
    x = 42
    print(x)
    print(y)
foo()
42
200
print(x)
7
Att skriva funktioner i Python

Scope

scope-fråga

Att skriva funktioner i Python

Scope

lokalt scope

Att skriva funktioner i Python

Scope

globalt scope

Att skriva funktioner i Python

Scope

inbyggt scope

Att skriva funktioner i Python

Scope

nonlocalt scope

Att skriva funktioner i Python

Nyckelordet 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
Att skriva funktioner i Python

Nyckelordet 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
Att skriva funktioner i Python

Nu kör vi en övning!

Att skriva funktioner i Python

Preparing Video For Download...