기본 자료형

파이썬에서는 아래와 같은 형태의 자료형을 제공하고 있습니다.

자료형 설명
없음(None) 파이썬 방식의 NULL 값 개체, 평가시 False
정수(int) 일반 정수 (예 : 32)
정수(long) 긴 정수. 일반 정수로 쓰기에 너무 긴 정수로서, 접두사 ‘L’과 함께 사용
부동소수점수(float) 부동소수점수. 10진수 또는 exponent sign을 포함하는 숫자
복소수(complex) 복소수. 실수와 허수부의 합으로 된 숫자로 표현
부울(Boolean) 참(True) 또는 거짓(False) 값 (1과 0의 숫자값으로도 표현)>>> bool('a')True>>> bool('b')True>>> bool(0)False>>> bool(-1)True>>> bool(-100)True
순서(Sequence) 다음과 같은 유형을 포함: 문자열, 유니코드 문자열, basestring, 리스트, 튜플
매핑(Mapping) 사전(dictionary) 형을 포함
집합(Set) 정렬되지 않은 유일한 개체의 모음으로서, 다음과 같은 유형을 포함: set, frozenset
파일(File) 파일 시스템 개체를 사용할 수 있도록 하는데 사용
반복자(Iterator) 컨테이너에 대하여 되풀이. 자세한 내용은 반복자 절을 참조

자료형 알아보기

# type 함수를 사용하여 개체의 유형을 반환

>>> i = 1 + 8.07j

>>> type(i)

<type 'complex'>

>>> a = 'Hello'

>>> type(a)

<type 'str'>

집합적 자료형

  • 리스트형 - 내부의 값을 나중에 바꿀 수 있다.
  • 튜플(tuple)형 - 한 번 값을 정하면 내부의 값을 바꿀 수 없다.
  • 사전형 - 내부의 값을 나중에 바꿀 수 있다.
  • 집합형 - 중복을 허락하지 않는다. 변경 가능하게도, 변경 불가능하게도 만들 수 있다.

리스트 내부

>>> dir([])

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', 
'__delslice__', '__doc__', '__eq__', '__format__', '__ge__', 
'__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', 
'__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', 
'__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', 
'__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 
'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

간단한 리스트 코드 살펴보기

>>> a = []

>>> a.append(4)

>>> a.append('hello')

>>> a.append(1)

>>> a.sort()

>>> print a
[1, 4, 'hello']

리스트의 주요 메서드

사전(Dictionaryes) 내부

>>> dir({})
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', 
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
'__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', 
'__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', 
'__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 
'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 
'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

>>>

간단한 사전 코드 살펴보기

>>> name = {}

>>> name['sonic'] = 'Lee Kwang Woon'

>>> name['yanggun'] = 'Lee Dong Hoon'

>>> print name['sonic']
Lee Kwang Woon


>>> 'sonic' in name
True

>>> print name['bonggu']
Traceback (most recent call last):
  File "
<stdin>", line 1, in <module>

KeyError: 'bonggu'

>>> print name.get('bonggu', 'no exists')
no exists

내부 자료형 객체

Numbers

숫자 타입, 불변형

숫자 객체는 변수에 할당될 때마다 새로 만들어진다.

var1 = 1
var2 = 10

Numbers 예

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
>>> sys.maxint
9223372036854775807

>>> sys.maxint + 1
9223372036854775808L

Strings

+ 연산자를 사용하여 문자열을 결합할 수 있다.

* 연산자를 사용하여 문자열을 반복하여 결합할 수 있다.

slice 연산자(자르기 연산자 : [ ] [ : ] )는 인덱스를 이용하여 0부터 끝에서 -1까지 자를 수 있다.

#!/usr/bin/python

str = 'Hello World!'

print(str)           # Prints complete string
print(str[0])        # Prints first character of the string
print(str[2:5])      # Prints characters starting from 3rd to 5th
print(str[2:])       # Prints string starting from 3rd character
print(str * 2)       # Prints string two times
print(str + "TEST")  # Prints concatenated string

results matching ""

    No results matching ""