반응형
예전에 파이썬 함수의 정의, 구조, 형태에 대해 글을 쓴 적이 있다. 그 연장선으로 이제는 전역변수와 지역변수에 대해 알아보려고 한다. 함수에서 정의한 변수는 어떻게 처리될까?
https://ggangtalife.tistory.com/37
목차
1. 전역변수
2. 지역변수
1. 전역변수
1
2
3
4
5
6
|
a = 'Hello'
def func():
print(a)
func()
|
cs |
Hello
어디서든지 사용할 수 있는 변수다. 함수 밖에서 정의한 것이다. 전역변수를 사용자 지정 함수에서 호출하여 사용할 수 있다. 함수 외부에서 a라는 변수에 'Hello'라는 문자열을 할당시켰다. func 함수에서 print(a)를 이용하여 출력한 결과는 'Hello'다.
2. 지역변수
1
2
3
4
5
|
def func():
a = 'Hello'
print(a)
func()
|
cs |
Hello
특정 구문(함수, for문 등) 내부에서 정의한 변수다. 변수를 정의한 범위에서만 사용이 가능하다. 위의 코드는 함수 안에서 변수 a에 대해 정의하고 print 함수를 활용해 출력한 결과다.
1
2
3
4
5
6
|
def func():
a = 'Hello'
print(a)
func()
print(a)
|
cs |
Hello
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[1], line 6
3 print(a)
5 func()
----> 6 print(a)
NameError: name 'a' is not defined
하지만 함수 내에서 정의한 변수를 함수 외부에서 활용하려고 하는 경우에는 에러가 발생한다. 변수 a가 정의되지 않았다는 에러가 발생한다.
반응형
'IT > 파이썬(Python)' 카테고리의 다른 글
파이썬 데이터 프레임 정렬하기 sort_values() 함수 (0) | 2023.04.12 |
---|---|
파이썬 데이터 프레임 인덱싱, 슬라이싱(loc, iloc) (0) | 2023.04.06 |
파이썬 Numpy 집계함수(sum, max, min, mean) (0) | 2023.04.03 |
파이썬 Numpy 배열 연산(기본 연산, 행렬 간 연산, 브로드캐스팅, 마스킹 연산) (0) | 2023.04.02 |
파이썬 Numpy 배열 모양 바꾸기(reshape, concatenate, split) (0) | 2023.04.02 |