DevSSOM

파이썬 기초 - 전역변수와 지역변수 본문

Python/기초

파이썬 기초 - 전역변수와 지역변수

데브쏨 2021. 6. 8. 11:49
반응형

전역변수와 지역변수

def my_func(a):
	x = "Hello!"   # 함수 안에서 x라는 변수를 만들었어
    print(a)
    
    a = 3
    my_func(a)     # 3
    print(x)       # x를 출력하니까 에러가 뜸

Q. 왜 x가 출력되지 않을까?

함수 안에서 일어난 일은 함수 밖에 영향을 끼치지 않아.

 

 

전역변수

: 함수 밖에서 정의한 변수. 그래서 어디서든지 사용할 수 있는 변수. 

x = "Hello!"   # 함수 밖에서 변수 x를 만들고
def my_func():
	print(x)   # x를 출력하는 함수를 만들었어
my_func()      # 그리고 my_func을 호출하면, Hello! 출력
print(x)       # 함수 밖에서도 x를 출력해달라고 하면, Hello! 출력

 

지역변수

: 특정 구문(for문, 함수...) 안에서 정의한 변수. 그래서 변수를 정의한 범위 안에서만 사용이 가능. 

def my_func():
	x = "Hello!"   # 함수 안에서 변수 x를 만들고
	print(x)       # x를 출력하는 함수를 만들었어
my_func()          # 그리고 my_func을 호출하면, Hello! 출력
print(x)           # 함수 밖에서도 x를 출력해달라고 하면, 에러발생
# 다음은 표준어로 "밥 먹었어요?"가 담긴 변수 greeting이야.
greeting = "밥 먹었어요?"

# 이를 print로 출력하면 다음과 같음.
print("서울 :",greeting)

# 함수 busan을 선언하고, 그 안에 변수 greeting에 "밥 뭇나?"를 넣어봐.
def busan():
    greeting = "밥 뭇나?"
    print("부산 :",greeting)
# 함수 busan을 실행해봐.
busan()

# 변수 greeting을 출력해봐.
print(greeting)


# 그럼 실행 결과는
서울 : 밥 먹었어요?
부산 : 밥 뭇나?
밥 먹었어요?  # 함수 밖에서 함수 안에 있는 변수를 참조할 수 없으니까 표준어로 나오는거

 

 

728x90
반응형

'Python > 기초' 카테고리의 다른 글

파이썬 기초 - 패키지  (0) 2021.06.09
파이썬 기초 - 모듈  (1) 2021.06.08
파이썬 기초 - 매개변수와 인자  (0) 2021.06.08
파이썬 기초 - 메소드  (0) 2021.06.08
파이썬 기초 - 함수  (0) 2021.06.08
파이썬 기초 - 딕셔너리 자료형  (0) 2021.06.08
파이썬 기초 - 튜플 자료형  (0) 2021.06.07
댓글