DevSSOM
파이썬 기초 - 전역변수와 지역변수 본문
반응형
전역변수와 지역변수
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 |
댓글