본문으로 바로가기

[Python] 파이썬 자료형

category 프로그램 이야기/파이썬 2021. 9. 11. 01:32
728x90
반응형

 자료형이란 프로그램에서 처리하는 자료의 형태를 나타내는 것으로 파이썬에서는 자료를 손쉽게 다룰 수 있도록 내장 자료형을 제공한다.                                                   

 자료형은 기억장소의 크기, 저장되는 데이터의 형태, 저장 방식, 값의 범위에 따라 구분이 된다. 당연한 말이지만 자료형은 쉽게 말하면 저장 공간을 이야기 하는 것이므로 크기나 저장되는 형태에 따라 구분된다. 

 파이썬의 자료형은 지난 포스팅에서도 설명했지만 동적 자료형을 지원한다. 동적 자료형은 프로그래머가 자료형을 직접 설정할 필요가 없다.

  C언어 : 같은 숫자라고 해도 int, short, unsigned int, float, double, long 등 메모리나 표현 방식 등에 따라 세분화

 파이썬 : 데이터를 입력하면 데이터 타입을 알아낸 후 입력된 데이터의 특성에 맞는 영역을 확보하여 줌   

 파이썬은 객체지향형 언어로 자료형 또한 객체와 레퍼런스로 관리한다. 이게 어찌보면 중요한 개념인데 만약 a라는 객체가 있다면 a=1이라고 하면 a라는 객체에는 1의 값을 가지는게 아니라 1이라는 객체의 레퍼런스를 갖고 있다가 a=2로 바꾸면 2라는 객체의 레퍼런스로 바꾼다. 즉, a라는 객체는 값이 있는 곳을 기억한다는 것이다. 이런 객체지향은 프로그래머는 객체의 생성과 소멸을 신경 쓸 필요가 없다.

 파이썬의 수치형 자료형은

 1. 정수 자료형 (int) : 소수점이 없는 숫자로 양수, 0, 음수를 표현한다. 

 2. 실수 자료형 (float) : 소수점이 있는 숫자로 지수 표현도 가능하다.

 3. 복소수 자료형 (complex) : 실수와 허수로 구성된 숫자로 실수부 + 허수부j로 이루어진다. 

 파이썬의 장점인 접근이 쉽다는 것이 이런 점이 아닌가 싶다. 기존 C 같은 경우는 자료형이 세분화되어 많이 있다. 그러나 파이썬은 수학에서 처럼 대표적인 구분만 할 뿐 양수만으로 이루어지는데 혹은 길이가 얼마인지를 구분하지 않는다. 결국 이러한 점으로 쉽게 프로그래머가 간단하게 코드를 작성할 수 있다.

 파이썬의 문자열 자료형은 문자, 단어 등으로 구성된 문자들의 집합으로 문자열 하나만이 존재한다. C++의 경우는 문자와 문자열을 구분하지만 파이썬은 구분하지 않고 문자열 만을 사용하니 편리하다고 볼 수 있다. 즉, 작은따옴표나 큰 따옴표나 모두 문자열을 나타낸다. (C++에서는 '는 문자, "는 문자열)

 확실히 파이썬은 다른 언어에 비해 최신으로 나왔기 때문인지 복잡성을 줄이고 단순한 문법과 프로그래머가 생각한 문법을 그대로 사용이 가능할 정도의 상대적인 자유도를 가지고 있다고 생각된다. 기존 언어들이 만들어졌을 때는 하드웨어의 한계 등으로 정확하게 관리해야 했으니 어렵게 관리가 되었는데 최근 하드웨어는 왠만큼 큰 프로그램이 아니면 자원을 펑펑 써도 문제가 없으니 쉽게 언어가 정의가 된 것 같다. 

 실제로 파이썬으로도 펌웨어 프로그램이 가능하다고 하나 내 평생 파이썬으로 펌웨어를 짜는 사람을 본적은 없다. (내가 본적이 없을 뿐 있을지도...) 펌웨어는 한정된 자원에서 최고의 성능을 내야 하므로 편리성 보다는 성능에 좌우된다. 뭐 사실 그런 의미로 어셈블러가 제대로만 짜면 최상의 성능을 가지지만 어렵고 프로그램의 해석이 어려운 등의 문제가 있기 때문에 C로 대부분 프로그램을 하게 된 것이다. 파이썬은 이러한 한정된 자원의 최적화에서 떨어질 수 밖에 없는 태생적인 한계가 있기 때문에 빵빵한 하드웨어 아래에서 성능을 발휘 할 수 있다고 본다. 

                        

728x90
반응형