[파이썬] 함수 내부와 외부의 변수 접근 방법과 예제
파이썬에서 함수 내부와 외부의 변수에 접근하는 방법은 중요한 개념 중 하나입니다. 함수 내부에서 외부 변수에 접근하는 경우, 그리고 함수 외부에서 함수 내부의 변수에 접근하는 경우에 대한 예제를 제공하겠습니다.
1. 함수 내부에서 외부 변수에 접근하기:
함수 내부에서 외부 변수에 접근하려면 global
또는 nonlocal
키워드를 사용합니다. global
키워드는 전역 변수에 접근할 때 사용되며, nonlocal
키워드는 중첩 함수에서 외부 함수의 지역 변수에 접근할 때 사용됩니다.
x = 10 # 전역 변수
def access_global_variable():
global x # 전역 변수 x에 접근
x += 5
access_global_variable()
print(x) # 출력: 15
def outer_function():
y = 20 # 외부 함수의 지역 변수
def access_outer_variable():
nonlocal y # 외부 함수의 지역 변수 y에 접근
y += 5
access_outer_variable()
print(y)
outer_function() # 출력: 25
2. 함수 외부에서 함수 내부의 변수에 접근하기:
함수 내부의 변수를 외부에서 접근하려면 해당 변수를 반환하거나 함수의 리턴 값을 통해 접근할 수 있습니다.
def outer_function():
z = 30 # 함수 내부의 지역 변수
def access_inner_variable():
return z # 함수 내부 변수 z 반환
return access_inner_variable
inner_function = outer_function()
result = inner_function()
print(result) # 출력: 30
outer_function
내부의 access_inner_variable
함수를 반환하고, 이 함수를 inner_function
에 할당하여 외부에서 result
를 통해 내부 변수에 접근합니다.
변수의 접근은 스코프(Scope)와 관련이 있으며, 올바르게 사용해야 합니다. 전역 변수와 지역 변수, 중첩 함수에서 외부 함수의 변수에 접근하는 방법을 이해하면 코드를 더 효율적으로 작성할 수 있습니다.