기본 자료형
파이썬에서는 아래와 같은 형태의 자료형을 제공하고 있습니다.
자료형 | 설명 |
---|---|
없음(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