티스토리 뷰
안녕하세요 동기 여러분!
오늘은 파이썬 함수에서의 전역 변수, 지역 변수에 대해 알아봅시다.
Global Variable
전역 변수(Global Variable)는 코드 파일 전체에 영향을 미치는 미친놈 아아니... 대단한 변수입니다.
varivaristrawvari = "베리베리 스트로베리" # -> 얘가 전역 변수
과연 변수 varivaristrawvari가 코드 파일 전체에 영향을 미치는지 확인해봅시다.
위의 스크린샷을 보면 함수를 실행했더니 변수 varivaristrawvari가 함수 안의 print문에 들어가서 출력이 되어 나오는 것을 볼 수 있습니다. 흠.. 이거만 보면 '이거 당연한 거 아니야?'라고 생각이 들 수 있습니다.
아래의 코드를 보도록 합시다.
Local Variable
지역변수(Local Variable)은 말 그대로 지역 범위(Local Scope) 내에서 영향을 미치는 변수입니다.
def print_varivaristrawvari():
varivaristrawvari = "베리베리 스트로베리" # -> 얘가 지역변수
print(varivaristrawvari)
'뭐야, 아까랑 똑같은데?'라고 생각하실 수도 있지만 위치가 다릅니다. 위치가 다르다는 것을 범위(Scope)가 다르다고 표현하는데요, 아까의 varivaristrawvari는 함수 밖에서 선언되어 어떤 함수나 클래스에서도 사용이 가능하지만 함수 print_varivaristraevari 지역범위 안에서 선언된 varivaristrawvari는 함수 안에서만 사용이 가능합니다.
한 번 확인해보죠!
varivaristrawvari가 지역변수인지 확인하기 위해 함수 밖에서 varivaristrawvari를 출력해봤는데 역시나 정의 되지 않은 변수라고 에러를 띄워줍니다.
지역 변수(Local Variable)을 전역 변수(Global Variable)로 사용하려면 어떻게 해야 할까?
바로 global 키워드를 사용해서 난 varivaristrawvari를 전역 변수로 사용할거야! 라고 선언해주시면 됩니다. 단 전제 조건이 하나 있는데 함수를 한 번 호출을 해줘야합니다. (그래야 적용이 되니까)
def print_varivaristrawvari():
global varivaristrawvari
varivaristrawvari = "베리베리 스트로베리" # -> 얘가 지역변수
print(varivaristrawvari)
print_varivaristrawvari() # -> 얘는 함수 호출임
print(varivaristrawvari) # -> 얘가 출력문
함수 정의문 바로 밑에 보면 global varivaristrawvari가 있는데 이 문장이 바로 "난 varivaristrawvari를 전역변수로 사용할 거야!"라고 말해주는 선언문 되시겠습니다.
전제 조건으로 함수를 호출해야 한다고 했는데 만약 호출하지 않고 바로 출력문을 사용하면 아래와 같은 에러가 발생합니다.
왜냐하면 함수를 호출하지 않으면 변수가 아예 선언이 되지 않은 상태가 되기 때문에 반드시 함수를 한 번 호출해주어야 합니다.
오늘의 느낌
목에 담 걸린 게 점점 풀리고 있는 느낌이라 내일부터는 운동을 다시 가야겠어요! 신난당
'Python' 카테고리의 다른 글
[Python] Multiple Returns (0) | 2022.02.06 |
---|---|
[Python] Returns (0) | 2022.02.06 |
[Python] Types of Arguments (0) | 2022.02.05 |
[Python] Multiple Parameters (0) | 2022.02.05 |
[Python]Parameters & Arguments (0) | 2022.02.05 |
- Total
- Today
- Yesterday
- 함수
- for문
- css position
- 반복문
- CSS
- 자바스크립트
- CSS 포지션
- html table
- html
- 메서드
- function
- HTML 기본
- javascript
- 타입스크립트
- Object
- Python
- 프로그래머스
- Typescript
- if문
- Type
- Margin
- method
- 파이썬
- 타입 좁히기
- 실수
- em
- 객체
- Array
- padding
- 동기코딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |