반응형
파이썬에서 전역변수를 사용하는 방법을 알아보겠습니다.
좋은 설계를 위해서는 전역변수는 최소한으로 사용하는 게 좋습니다.
객체 간의 의존관계가 꼬여버릴 수 있기 때문이죠.
하지만 어쩔 수 없이 사용해야하거나 전역변수를 사용하는 것이 타당한 경우도 많이 있습니다.
기본
코드의 제일 바깥에 변수를 만들면 전역 변수 선언이 자동으로 된 것입니다.
아래의 에시에서 a, b, c는 모두 전역 변수입니다.
a = 1
b = [1, 2, 3]
c = {'first': 1, 'second': 2}
def add(x):
return x + a + b[0] + c['first']
add(1) # return: 4 = 1 + 1 + 1 + 1
함수, 메서드 내부에서 전역변수 선언하기
함수 내부에서 어떤 변수를 전역 변수 선언하고 싶을 땐 어떻게 할까요?
그럴 때 사용하는 것이 바로 'global'을 활용한 전역변수 선언입니다.
다음 예시를 보시죠.
def setting():
# 전역변수 선언
global a
# a에 값 할당
a = {'first': 1, 'second': 2}
def add(x):
return x + a['first']
setting()
add(1) # return: 2 = 1 + 1
위의 예시에서 setting 함수는 a라는 전역변수를 선언하고, a에 딕셔너리를 할당합니다.
global 사용의 잘못된 예시
아래의 코드로는 a에 값을 넣을 수 없습니다.
global로 전역변수를 선언하는 부분은 함수 안에 같이 있어야 합니다.
global a
def setting():
a = {'first': 1, 'second': 2}
다음과 같은 경우도 안 됩니다.
선언과 동시에 값을 할당할 수는 없습니다.
def setting():
global a = {'first': 1, 'second': 2}
핵심 포인트
전역변수를 사용하는 방법은 두 가지다.
1. 제일 바깥에 변수를 만들기
2. 함수나 메서드 내부에서는 global을 활용해서 전역변수 선언을 하고 값을 할당하기
즐거운 프로그래밍 하시길 바랍니다.^^
반응형
'기타' 카테고리의 다른 글
마크다운(Markdown) 줄 바꾸기, 문단 나누기 (0) | 2022.09.16 |
---|---|
파이썬 코드 줄 바꾸기 (가독성 높이기) (0) | 2022.09.16 |