본문 바로가기
Python

3. Python : 자료형

by Jnamelight 2017. 4. 18.

문자열 자료형



파이썬은 특이하게도 문자열을  나타낼때 ","",""" 로 감싸주거나 마찬가지로 ','',''' 로 감싸주기만 하면된다.

또한 문자열자체가 하나의 인덱스로 자동으로 저장되어져 배열을 알고 있다면 쉽게 다룰수 있다.



기본적인 예제를 통하여 문자열 자료형을 익혀보았다.



리스트, 튜플, 딕셔너리 자료형


리스트를 이용하면 1, 3, 5, 7, 9라는 숫자 모음을 다음과 같이 간단하게 표현할 수 있다.

>>> odd = [1, 3, 5, 7, 9]

리스트를 만들 때는 위에서 보는 것과 같이 대괄호([ ])로 감싸 주고 각 요소값들은 쉼표(,)로 구분해 준다.

리스트명 = [요소1, 요소2, 요소3, ...]

여러 가지 리스트의 생김새를 살펴보면 다음과 같다.

>>> a = [ ]
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]

리스트는 a처럼 아무것도 포함하지 않는, 비어 있는 리스트([ ])일 수도 있고 b처럼 숫자를 요소값으로 가질 수도 있고 c처럼 문자열을 요소값으로 가질 수도 있다. 또한 d처럼 숫자와 문자열을 함께 요소값으로 가질 수도 있으며 e처럼 리스트 자체를 요소값으로 가질 수도 있다. 즉, 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.

(※ 비어 있는 리스트는 a = list()로 생성할 수도 있다.)



튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다.

  • 리스트는 [과 ]으로 둘러싸지만 튜플은 (과 )으로 둘러싼다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

튜플의 모습은 다음과 같다.

>>> t1 = ()
>>> t2 = (1,)
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3
>>> t5 = ('a', 'b', ('ab', 'cd'))

리스트와 모습은 거의 비슷하지만 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있다. t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다는 것과 t4 = 1, 2, 3처럼 괄호()를 생략해도 무방하다는 점이다.

얼핏 보면 튜플과 리스트는 비슷한 역할을 하지만 프로그래밍을 할 때 튜플과 리스트는 구분해서 사용하는 것이 유리하다. 튜플과 리스트의 가장 큰 차이는 값을 변화시킬 수 있는가 없는가이다. 즉, 리스트의 항목값은 변화가 가능하고 튜플의 항목값은 변화가 불가능하다. 따라서 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고싶지 않다면 주저하지 말고 튜플을 사용해야 한다. 이와는 반대로 수시로 그 값을 변화시켜야할 경우라면 리스트를 사용해야 한다. 실제 프로그램에서는 값이 변경되는 형태의 변수가 훨씬 많기 때문에 평균적으로 튜플보다는 리스트를 더 많이 사용하게 된다.



다음은 기본적인 딕셔너리의 모습이다.

{Key1:Value1, Key2:Value2, Key3:Value3 ...}

Key와 Value의 쌍 여러 개가 {과 }로 둘러싸여 있다. 각각의 요소는 Key : Value 형태로 이루어져 있고 쉼표(,)
로 구분되어 있다.

(※ Key에는 변하지 않는 값을 사용하고, Value에는 변하는 값과 변하지 않는 값 모두 사용할 수 있다.)

다음의 딕셔너리 예를 살펴보자.

>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

위에서 Key는 각각 'name', 'phone', 'birth'이고, 각각의 Key에 해당하는 Value는 'pey', '0119993323', '1118'이 된다.

딕셔너리 dic의 정보

keyvalue
namepey
phone01199993323
birth1118

다음의 예는 Key로 정수값 1, Value로 'hi'라는 문자열을 사용한 예이다.

>>> a = {1: 'hi'}

또한 다음의 예처럼 Value에 리스트도 넣을 수 있다.

>>> a = { 'a': [1,2,3]}



각각의 것들은 C를 해본사람이라면 모두가 배열로 느껴질수가 있다. 하지만 각각의 미세한 차이가있다

정리하자면 리스트는 기본적인 배열에 속한다. 생성, 수정 삭제 모두가 가능하다

하지만 튜플의 경우는 수정이 불가능하다. 이미 있는 자료를 변경하면 안될때 사용하면 좋다.

마지막으로 딕셔너리는 해쉬구조와 비슷하다. Key값을 주어 자료를 다른 것으로 치환 한다고 보면된다.


'Python' 카테고리의 다른 글

2.Python : 간단한 예제 , 에디터 설정  (0) 2017.04.13
1.Python : 개념과 설치  (0) 2017.04.11

댓글