본문으로 바로가기

Python: 변수

category Programming/Python 2020. 11. 19. 12:38
반응형
프로그램에서 절대적으로 빠질 수 없는 요소가 있다면,
바로 연산 처리 결과를 저장할 수 있는 변수가 그 중 하나이다.


변수

변수 (Variable)라는 단어의 뜻에서 알 수 있듯이,
프로그램 안에서 인식되는 의미의 변화가 가능한 오브젝트를 변수라고 한다.
그런 의미의 변화는 프로그램이 실행되는 동안 다채롭게 변화되는 연산의 결과를
변수에 할당된 메모리 내부에 저장 또는 불러오기가 빈번하게 이루어지기 때문에 가능한 것이다.

여러 정적 프로그래밍 언어에서도 그러했듯이,
파이썬에서도 변수가 가지는 의미나 작명 규칙 등은 거의 비슷하게 적용되지만,
선언 없이 변수를 사용할 수 있다는 아주 큰 차이를 가지고 있다.


위 그림에서 var01, var02, var03이라는 이름의 변수 3개가 적용된 프로그램을 보여주고 있다.
앞에서 이야기한 대로, 별도의 변수 선언 없이 값을 할당해주는 작업 만으로도
에러 메시지 없이 메모리가 매핑되는 것을 확인할 수 있다.


파이썬에서는 type 함수를 이용하면 데이터 타입을 확인할 수 있다.
type 함수를 이용하여 첫 번째 그림에서 선언된 변수들의 데이터 타입을 확인하면,
var01은 정수 타입, var02는 문자열 타입, var03은 부동 소수 타입이라는 것을 알 수 있다.
다시 말해, 파이썬에서는 변수를 선언하기 전에 별도의 선언 과정 없이
값을 전달해주는 작업 만으로도 변수를 정의할 수 있고,
어떤 타입의 데이터를 전달하는지에 따라 변수의 데이터 타입도 결정된다는 의미이다.


이 내용을 좀 더 확장해서 생각한다면, 변수의 데이터 타입은 고정적이지 않다는 의미로 이해할 수 있고,
위 그림처럼, 같은 변수에 다른 타입의 데이터를 저장하면 마찬가지로 변수의 데이터 타입이 변경될 수 있다는 의미이다.
물론, 이런 방식의 예는 파이썬의 변수가 어떤 특징을 가지고 있는지를 보여주기 위해 작성한 예일 뿐,
실제 프로그래밍에서는 권장하지 않는 방법임은 분명히 밝혀두고 넘어간다.


별도의 선언 과정 없이 프로그램에서 즉석으로 변수를 생성할 수 있었다면,
변수의 삭제... 즉, 변수에 매핑된 메모리의 반환 역시 프로그램의 실행되는 동안 바로 적용될 수 있다.
위 그림은 변수에 매핑된 메모리를 반환 받을 때 사용하는 명령어인 del의 예를 보여주고 있는데,
바로 직전에 176이라는 값을 저장하고 있던 var01 변수가 del 명령 이후에 사용될 때는
인터프리터가 에러 메시지를 나타내는 것을 확인할 수 있다.

이것 또한 파이썬이라는 프로그래밍 환경의 특성을 보여주기 위한 예제일 뿐,
프로그램이 종료될 때, 변수에 매핑된 메모리를 알아서 반환하므로,
굳이 프로그램을 작성하는 과정에서 del을 사용할 필요는 없다.








반응형

'Programming > Python' 카테고리의 다른 글

Python: 실수형 데이터 타입  (0) 2020.11.24
Python: 정수형 데이터 타입  (0) 2020.11.23
Python: 입력 명령문  (0) 2020.11.18
Python: 출력 명령문  (0) 2020.11.13
Python: 나도 파이썬을 해보자!!  (0) 2020.11.11