[Python] 변수의 범위

형이·2023년 11월 7일

Python

목록 보기
15/34
post-thumbnail

📝 변수의 범위

🖥️ 1. scope

  • 변수에 접근할 수 있는 범위
  • local : 가장 가까운 함수 안 범위
  • global : 함수 바깥의 변수 또는 import된 module
num1 = 10

def func() :
  num2 = 20
  print(num2)
  
print(num1)  # 10
print(num2)  # NameError: name 'num2' is not defined
  • locals() : 로컬 변수를 확인해주는 함수
  • globals() : 글로벌 변수를 확인해주는 함수
num1 = 10

def func1() :
  num1 = 20
  print('num1 로컬 변수 : ', 'num1' in locals())
  
func1()
print(num1)
print('num1' in globals())

[결과]
num1 로컬 변수 :  True
10
True

🖥️ 2. global 키워드

  • 함수 내부에 로컬 변수가 아닌 글로벌 변수로 사용하게 함
num1 = 10

def func1() :
  print(num1)

def func2(num) :
  num1 = num
  
func1()
func2(5)
func1()

[결과]
10
10
num1 = 10

def func1() :
  print(num1)

def func2(num) :
  global num1
  num1 = num
  
func1()
func2(5)
func1()
print(num1)

[결과]
10
5
5

0개의 댓글