• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] Python - Scope (범위)

622  

목차

  1. 지역범위 (Local Scope)
  2. 전역범위 (Global Scope)
  3. global 키워드 - 전역변수 선언

※ Scope (범위) : 변수 효력이 미치는 유효 범위.

 

지역범위 (Local Scope)

 

함수 안에서 생성된 변수는 함수 안에서만 유효.

※ 함수 안의 내부 함수에서도 유효. (예제2)

 


[예제1] 함수 안 정의 변수는 함수 안에서 사용 가능.

 

def hz():

  x = 3

  print(x)


hz() # 3

 


[예제2] 함수 안 경우, 어디서든 사용 가능.

 

def hz():

  x = 3

  def innerhz():

    print(x)

  innerhz()


hz() # 3

 

 

전역범위 (Global Scope)

 

파이썬 기본 코드 영역에 생성된 변수는 전역 범위에 가짐.

※ 함수 안팎 모두에서 사용 가능.

※ 함수 안팎에서 동일 변수명의 변수 정의 시, 개별 간주. (예제2)

 


[예제1] 함수 밖 정의 변수는 함수 안팎에서 유효.

 

x = 3

def hz():

  print(x)


hz() # 3

print(x) # 3

 


[예제2] 함수 안팎에서 동일 변수명으로 변수 정의 시, 개별 간주.

 

x = 3

def hz():

  x = 4

  print(x)

 

hz() # 4

print(x) #3

 

 

global 키워드 - 전역변수 선언

 

함수 안에 정의한 지역 변수를 전역 범위 갖게 함.

 


[예제1] 지역변수 앞에 global 키워드 붙이면 전역 범위 가짐.

 

def hz():

  global x

  x = 3

 

hz()

print(x) # 3

 


[예제2] 전역변수 값을 함수 안에서 변경할 때도 global 키워드 사용.

 

x = 4

def hz():

  global x

  x = 3

 

hz()

print(x) # 3

 



분류 제목
basic Python - Lambda (람다함수) - 작은 1회용 익명함수
basic Python - Array (배열)
basic Python - Class/Object (클래스/객체) ※ __init__() 함수
basic Python - Inheritance (상속)
basic Python - Iterator (반복자)
basic Python - Scope (범위)
basic Python - Module (모듈)
basic Python - Datetime (날짜시간) 표시
basic Python - JSON (제이슨)
basic Python - RegEx (정규식) - 정규표현식
basic Python - PIP (피프) - 패키지(모듈) 관리자
basic Python - Try...Except - 에러 테스트/제어. (= 트라이...익세프트)
basic Python - User Input (사용자 입력)
basic Python - String Format (문자열 포맷)
basic Python - Math (수학)
2/2
목록
찾아주셔서 감사합니다. Since 2012