웹의 성능이 달라질 수도, 개발자들과 읽기좋고 다른 코드를 짤 수 있다.

파이썬의 내부에 대해서 배우도록 하자



전역 변수, 지역변수

# ex1
a = 10 # Global variable

def foot():
    # read global variable
    print(a)

foot()

# read global variable
print(a)

# ex22
b = 20

def bar():
    b = 30 # Local variable
    print(b) # Read local variable

bar()
print(b) #Global Scope

주의해야할 점

# ex3
c = 40

def foobar():
    # c = c + 10
    # c = 10
    # c += 100
    print('ex3 > ', c)

foobar()

의에 c는 주석을 풀 경우 에러가 뜬다.

UnboundLocalError: local variable 'c' referenced before assignment

이러한 에러가 뜬다.

사용방법입니다.

# ex3
d = 50
def barfoo():
    global d
    d = 60
    d += 100
    print(d)

barfoo()
print(d) # 위에 변한 값이 그대로 나옴

코드를 유지보수 할때 최대한 안 좋기 때문이지만 최대한 지향해야하지만 많이 사용하는 패턴이다.

클로저 (중요)