Python_지역변수와 전역변수

장해수·2023년 6월 9일
  1. 전역 변수
  • 함수 밖에 선언된 변수로 어디에서나 사용 가능하지만 함수 안에서 수정할 수 없음
num_out = 10  #전역 변수
def printNumbers():
    print(f'num_out: {num_out}')

printNumbers()
print(f'num_out: {num_out}')
num_out: 10
num_out: 10
  1. 지역 변수
  • 함수 내부에서 선언된 변수로 함수 안에서만 사용 가능함
def printNumbers():
    num_in = 20 #지역변수 
    print(f'num_in: {num_in}')

printNumbers()
num_in: 20
  • 함수 외부에서 지역 변수를 호출할 경우 정의되지 않은 변수로 오류가 뜸
def printNumbers():
    num_in = 20 #지역변수 
    print(f'num_in: {num_in}')

print(f'num_in: {num_in}')
NameError: name 'num_in' is not defined
  1. global 키워드
  • 함수 안에서도 전역변수의 값을 수정할 수 있음
num_out = 10  #전역 변수
def printNumbers():
	global num_out
    print(f'num_out: {num_out}')

printNumbers()
print(f'num_out: {num_out}')
num_out: 20
num_out: 20
  1. 실습
    예제 1) 사용자가 가로, 세로 길이를 입력하면 삼각형과 사각형의 넓이를 출력하는 함수를 만들어보자.
  • 코드
def printArea():
    triangleArea = width * height / 2
    squareArea = width * height

    print(f'삼각형 넓이: {triangleArea}')
    print(f'사각형 넓이: {squareArea}')

width = int(input('가로 길이: '))
height = int(input('세로 길이: '))

printArea()
  • 결과
가로 길이: 5
세로 길이: 6
삼각형 넓이: 15.0
사각형 넓이: 30

예제 2) 방문객 수를 카운트하는 함수를 만들어보자.

  • 코드
totalVisit = 0

def countTotalVisit():
    global totalVisit  
    #전역변수를 선언했지만 해당 변수는 함수를 실행하면서 변경되어야 하기 때문에 global 키워드를 사용함

    totalVisit += 1
    print(f'누적 방문객: {totalVisit}')

countTotalVisit()
countTotalVisit()
countTotalVisit()
countTotalVisit()
countTotalVisit()
  • 결과
누적 방문객: 1
누적 방문객: 2
누적 방문객: 3
누적 방문객: 4
누적 방문객: 5
profile
데이터 진행시켜

0개의 댓글