작성자: admin 작성일시: 2016-09-22 11:34:50 조회수: 868 다운로드: 100
카테고리: Python 태그목록:

파이썬의 자료형

자료형

지금까지 우리는 변수에 숫자, 문자열, 리스트 등의 값을 마음대로 넣어서 사용해 왔다. 그러나 프로그램이 실행되려면 컴퓨터는 각 변수에 어떤 종류의 값이 들어가 있는지 알아야 한다. 값이 숫자인가 문자열인가 등에 따라 값을 저장하는 방식이나 계산하는 방법이 다르기 때문이다.

이러한 값의 종류를 자료형(data type) 혹은 단순히 타입(type)이라고 한다.

예를 들어 정수인 1과 문자열인 "1"이 컴퓨터에 저장될 때 어느 정도의 메모리를 차지하는지 알아보면 두 값의 저장 방식이 다르다는 것을 알 수 있다. 파이썬에서 변수의 메모리 크기를 알기 위해서는 sys 패키지의 getsizeof 명령을 사용한다.

In:
from sys import getsizeof
In:
a = 1
getsizeof(a)
Out:
24
In:
b = "1"
getsizeof(b)
Out:
38

파이썬의 자료형

파이썬에서 사용할 수 있는 자료형 중 많이 사용하는 것은 다음과 같다.

  • None
  • Boolean
  • Int
  • Float
  • Complex
  • String
  • Unicode
  • Tuple
  • List
  • Dict
  • Function

변수나 값의 자료형을 알아보기 위해서는 type 명령을 사용하면 된다.

변수가 비어있음을 표시할 때는 None 타입을 사용한다.

In:
type(None)
Out:
NoneType
In:
type(True)
Out:
bool
In:
type(1)
Out:
int
In:
type(3.14)
Out:
float

복소수를 사용할 때는 허수부 숫자 뒤에 j문자를 붙인다.

In:
type(2 + 3j)
Out:
complex
In:
type("abc")
Out:
str
In:
type(u"abc")
Out:
unicode
In:
type((1, 2, 3))
Out:
tuple
In:
type([1, 2, 3])
Out:
list
In:
type({"A": 10, "B": 20, "C": 30})
Out:
dict

파이썬에서는 함수도 독자적인 자료형을 가진다. 파이썬에서 함수의 자료형 이름은 function 이다.

In:
def f():
    return 1

type(f)
Out:
function

자료형과 클래스의 차이점

파이썬에서 자료형과 클래스는 같은 의미이다. 클래스를 알기 위해서는 __class__ 속성을 살펴보면 된다.

In:
a = 1
In:
type(a)
Out:
int
In:
a.__class__
Out:
int
In:
b = [1, 2, 3]
In:
type(b)
Out:
list
In:
b.__class__
Out:
list
In:
class C(object):
    pass

c = C()

위 코드에서 pass 키워드는 아무런 일도 하지 않는 들여쓰기 블럭을 만들기 위한 것이다.

In:
type(c)
Out:
__main__.C
In:
c.__class__
Out:
__main__.C

클래스 이름앞의 __main__은 클래스가 정의된 모듈(module) 이름이다. REPL 환경에서 입력하는 코드는 __main__ 으로 가정한다.

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!