[파이썬] 함수와 스코프 (scope)

Python은 함수와 스코프를 사용하여 변수를 정의하고 관리합니다. 스코프는 함수 내에서 정의된 변수가 어디에서 사용할 수 있는지를 결정합니다. 이 글에서는 함수와 스코프에 대해 알아보고, Python에서 스코프를 사용하는 방법을 알아보겠습니다.

함수와 스코프

함수는 입력값을 받아 다른 값을 반환하는 코드 블록입니다. 함수는 입력값을 처리하고 결과를 반환하는 데 사용됩니다. 함수 내에서 정의된 변수는 함수 내에서만 사용할 수 있습니다. 이러한 변수를 로컬 변수라고 합니다.

스코프는 변수가 어디에서 사용할 수 있는지를 결정합니다. 함수 내에서 정의된 변수는 함수 내에서만 사용할 수 있습니다. 이러한 변수를 로컬 변수라고 합니다. 반면, 함수 밖에서 정의된 변수는 함수 내에서도 사용할 수 있습니다. 이러한 변수를 글로벌 변수라고 합니다.

Python에서의 스코프

Python에서는 두 가지 스코프를 사용합니다. 함수 내에서 정의된 변수는 로컬 스코프에 속합니다. 반면, 함수 밖에서 정의된 변수는 글로벌 스코프에 속합니다.

로컬 스코프

함수 내에서 정의된 변수는 로컬 스코프에 속합니다. 로컬 스코프에 속한 변수는 함수 내에서만 사용할 수 있습니다.

def my_function():
    x = 10 # x는 my_function()의 로컬 변수
    print(x)

my_function() # 10이 출력됩니다.
print(x) # NameError: name 'x' is not defined

글로벌 스코프

함수 밖에서 정의된 변수는 글로벌 스코프에 속합니다. 글로벌 스코프에 속한 변수는 함수 내에서도 사용할 수 있습니다.

x = 10 # x는 글로벌 변수

def my_function():
    print(x)

my_function() # 10이 출력됩니다.

결론

Python은 함수와 스코프를 사용하여 변수를 정의하고 관리합니다. 함수 내에서 정의된 변수는 로컬 스코프에 속하고, 함수 밖에서 정의된 변수는 글로벌 스코프에 속합니다. 이러한 스코프는 변수가 어디에서 사용할 수 있는지를 결정합니다.