IT/언어

[파이썬] 변수 선언에 대해서 #전역 변수(global) #지역변수(local)

iemxl 2024. 5. 10. 15:13

"변수에 대해서"

  • global : 전역 변수
    • global을 앞에 붙이면 함수 밖에서 선언한 전역 함수를 가르키게  
    • 함수 안에서 값을 변경하면 그 값이 출력됨
    • 일반 함수 내에서 전역 변수를 사용할 때 사용

 

  • nonlocal : 비지역 변수
    • nonlocal을 앞에 붙이면 함수 밖에서 선언한 비지역 함수를 가르키게 됨
    • 중첩 함수 내에서 상위 함수의 변수를 사용할 때 사용
    • 중첩 함수에서 global을 사용하면 에러남 >> 이럴 때 nonlocal을 사용해줌
    • 프로그래머스는 def로 시작하는 문제 형식이므로 dfs의 중첩 def(함수)를 사용할 경우 nonlocal을 사용해 주어야 함

 

  • local : 지역 변수
    • 함수 밖 함수와 다른 지역 함수임을 알림

 

a = 3   #전역 변수

def func():
	a = 5   	#지역함수
    
    global a 
    a = 8   	#전역함수

    return a

print(func())