새소식

반응형
Programming Language/Python

[Python] 파이썬 전역변수, 지역변수

  • -
반응형

파이썬에서 전역변수와 지역변수를 나눠놓은 이유는 코드의 가독성과 유지보수성을 향상시키고 프로그램의 예측 가능성을 높이기 위함이다. 오늘은 파이썬의 전역변수와 지역변수에 대해 알아보는 시간을 가져보자.

 

1. 전역변수(Global Variable)


전역변수(Global Variable)는 프로그램 안에서 어디서든 사용할 수 있는 변수다. 이 변수는 프로그램 어디에서나 보이고 접근할 수 있다. 전역변수는 마치 '집'과 비슷하다. 집은 여러 방(함수)이 있는데, 이 방들 안에서 모든 사람들이 함께 사용할 수 있는 것들을 집안에 두고 있다. 예를 들어, 집 안에는 TV, 냉장고, 소파 등이 있고, 모든 사람이 이것들을 사용할 수 있다. 따라서 전역변수도 마찬가지로 모든 함수(방)에서 공유하고 사용할 수 있는 변수이다.

 

예제 코드

house = "My Home"

def room1():
    print(f"This is room 1 in {house}")

def room2():
    print(f"This is room 2 in {house}")

room1() # output : This is room 1 in My home
room2() # output : This is room 2 in My home

위에 예제에서 house는 전역 변수로 모든 함수에서 사용할 수 있다.

 

2. 지역변수(Local Variable)


지역변수는 특정 함수 안에서만 사용할 수 있는 변수이다. 다른 함수나 전역에서는 이 변수를 볼 수 없다. 이것은 마치 '방'안에 놓인 가구와 비슷한다. 방마다 각자의 가구들이 있고, 다른 방에서는 그 가구들을 사용할 수 없다. 예를 들어, 방 1에서는 소파 1과 TV1을 사용하고, 방 2에서는 소파 2와 TV2를 사용할 수 있지만, 방 1에서 소파 2나 TV2를 사용할 수 없다. 따라서 지역변수도 특정 함수 내에서만 사용할 수 있는 변수이다.

 

예제 코드 1

def room1():
    sofa = "Sofa 1"
    tv = "TV 1"
    print(f"In Room 1 : {sofa}, {tv}")

def room2():
    sofa = "Sofa 2"
    tv = "TV 2"
    print(f"In Room 2 : {sofa}, {tv}")

room1() # In Room 1 : Sofa 1, TV 1
room2() # In Room 2 : Sofa 2, TV 2

 

예제 코드 2

def room1():
    sofa = "Sofa 1"
    tv = "TV 1"
    print(f"In Room 1 : {sofa}, {tv}")

print(f"my sofa is {sofa}") # output : NameError: name 'sofa' is not defined

지역변수는 해당 함수의 범위(scope) 내에서만 유효하다. 따라서 함수 밖에서 직접 지역변수에 접근하려고 시도하면 오류가 발생한다. 파이썬에서 이러한 오류를 "NameError"라고 부른다.

 

읽어주셔서 감사합니다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.