2010. 7. 31. 20:16
  • 파이썬의 객체 자료형

분야

설명

NoneType 

None 객체 자료형

TypeType 

type 객체의 자료형(type()으로 리턴되는 자료형)

BooleanType 

부울 자료형(파이썬 2.3이상)

IntType

정수형(예:123)

LongType 

롱형(예:123L)

FloatType 

실수(부동소수점)형 (예:12.34)

ComplexType 

복소수형(예: 1.0j)

StringType 

문자열형(예: 'Spam')

UnicodeType 

유니코드 문자열형(예: u'Spam')

TupleType 

튜플형(예: (1,2,3, 'spam'))

ListType

리스트형(예: [0,1,2,3])

DictType

사전형(예: {'Bacon':1, 'Ham':0})

DictionaryType

DictType의 또 다른 이름

FunctionType

사용자 정의 함수, 람다 함수형

LambdaType

FunctionType의 또 다른 이름

CodeType

compile() 함수에 의해 리턴되는 코드 객체형

ClassType 

사용자 장의 클래스 자료형

InstanceType 

사용자 정의 클래스 인스턴스형

MethodType

사용자 정의 클래스 인스턴스의 메쏘드형

UnboundMethodType

MethodType의 또 다른 이름

BuiltinFunctionType 

len(), sys.exit()와 같은 내장 함수의 이름

BuiltinMethodType 

BuiltinFunction의 또 다른 이름

ModuleType

모듈형

FileType

sys.stdout과 같은 오픈된 파일 객체형

XRangeType

xrange()에 의해 리턴된 자료형

SliceType

slice()에 의해 리턴된 자료형

EllipsisType

Ellipsis 자료형

TracebackType

sys.exc_traceback와 같은 traceback 객체형

FrameType

traceback 객체 tb안의 tb.tb_frame과 같은 프레임 객체형

BufferType

buffer() 함수로 생성된 버퍼 객체형

 

  • 기타의 자료형
    • 파이썬 전체 자료형의 종류를 알아보려면 모듈 types를 이용

>>> import types

>>> dir(types)

['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'DictionaryType', 'EllipsisType', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'InstanceType', 'IntType', 'LambdaType', 'ListType', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType', 'NotImplementedType', 'ObjectType', 'SliceType', 'StringType', 'StringTypes', 'TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XRangeType', '__builtins__', '__doc__', '__file__', '__name__', '__package__']

  • types 모듈을 이용하여 자료형 비교

>>> from types import *

>>> type(123) == IntType

True

>>> type('abc') == StringType

True

 

  • 내장 자료형 알아보기
    • 자료형이 무슨 형인지 알려면 type 내장 함수를 이용
    • type 함수는 자료의 종류를 담고 있는 type 객체를 리턴

>>> type({})

<type 'dict'>

>>> type('abc')

<type 'str'>

>>> type(None)

<type 'NoneType'>

>>> type([])

<type 'list'>

>>> type(())

<type 'tuple'>

>>> type(type({}))

<type 'type'>

# 자료형 비교 예

>>> a = 0

>>> L = [1,2,3]

>>> type(a) == type(0) # a가 정수인지 검사

True

 

Posted by devanix