본문 바로가기
프로그래밍/파이썬

파이썬 기초 [점프 투 파이썬 - 자료형]

by 훨훨날아 2021. 5. 28.

자료형 

숫자형, 문자형, 리스트, 튜플, 딕서너리, 집합자료형, 불자료형 이 있다.

 

-튜플 자료형,

    리스트와 거의 비슷하지만 몇가지 다른점이 있다.

    리스트는 대괄호 []로 만들고 튜플은 () 소괄호로 만든다.

    리스트는 그 값을 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

t1 = ( 1,2,3) //  t1 = 1,2,3       괄호 안에서는 콤마를 항상 붙여야한다. 괄호가 없어도 만들어진다.

 

자료의 값이 바뀌지 않는다면 튜플을 사용해야한다. 튜플은 리스트처럼 del 을 이용해서 지울 수 없다.

 

-딕셔너리 자료형

    파이썬에서 키와 값으로 이루어진 대응관계를 나타내는 자료형이다. 대응관계를 연관배열(associative array) 또는 해시(Hash)라고 한다.

    딕셔너리는 중괄호 { } 를 이용하여 만들어지고 { key: value, key: value } 와 같이 키와 값이 : 콜론으로 나눠져있고 , 콤마로 구분된다.

    딕셔너리에 값을 추가하기 위해서는 a['키'] = '값' 을 넣으면 a안에 키를 이용하여 값이 들어가게 된다. 삭제는 del a['키'] 를 이용하면 제거할 수 있다.

    a['키'] 자료의 키를 정해주면 값이 출력된다. 키의 이름이 중복될 경우 하나만 출력된다. 키값으로 리스트를 사용할 순 없다.

    딕셔너리 관련 함수들

    a.keys() 는 a에서 key값만 모아서 dict_keys 객체를 돌려준다.(dict_keys 라는 이름으로 key값들이 보여진다.   dict_keys(['name', 'phone', 'birth']) ) 키값들을 리스트로 변환하려면 list(a.keys()) 로 하면 된다.
    a.values()를 이용해서 값들만 모아서 dict_values 객체로 만들 수 있다.
    a.items()를 이용해서 키와 값을 쌍으로 얻을 확인 할 수 있다.
    a.clear() 키와 값을 모두 지우기
    a.get(키) 를 이용해서 키에 해당하는 값을 얻을 수 있다. 해당하는 값이 없으면 none으로 표시된다. a.get(키, 출력값) 키에 해당하는 값이 없을 때 None대신 출력값을 미리 설정할 수 있다.
   키 in 데이터 를 이용해서 키값이 데이터 안에 있는지 확인할 수 있다. True or False.

---- 45분 ----

-집합자료형

    집합에 관련된 자료를 쉽게 처리할 수 있다. 중복을 허용하지 않으면 순서가 없다. 그래서 인덱싱을 지원하지 않는다. 중복을 허용하지 않기 때문에 필터로 사용되는 경우도 있다.

    s = set([1,2,3] ) -> { 1,2,3} //  s = set("hello") -> { e, h, l, o}

      집함자료를 인덱싱하기 위해서는 리스트로 바꿔야한다. list(set())
    & 은 교집합,  | 합집합, -  마이너스 혹은 .difference() 를 이용해서 차집합을 구할 수 있다 ( s1.difference(s2)은 s1에서 s2을 뺀다)
    .add(값) 을 이용해서 집합에 데이터를 추가할 수 있다.
    .update([값,값,값]) 을 이용하면 여러가지 값을 추가할수있다.
    .remove(값) 을 이용하여 값을 제거할 수 있다.

----- 15분 ----

 

-불 자료형,

    bool 자료형은 참(True) 거짓(False) 을 나타내는 자료형이다. 

    type(a) 은 데이터가 어떤 자료형인지 파악하는 함수이다.

    자료형은 데이터가 있으면 참이고 빈자료형이면 거짓이다. 예) while 조건문에서 while a 라는 문장은 a에 값이 있으면 while 반복문을 실행하라는 뜻 이다.
    숫자형 자료는 0이면 False이고 나머지는 True이다. None이라는 단어도 거짓이다.

----- 15분 -----

 

-자료형의 값을 저장하는 공간 변수,

변수 는 = (assignment) 기호를 이용하여 자료형을 지정한 문자이다.

    id(a) 는 a라는 변수가 가리키고 있는 객체의 주소값(실제 메모리에서의 영역)을 보여준다.

    리스트를 복사할 때 = 을 이용해서 복사하면 리스트전체가 복사되어(동일한 id 값을 가진다, 새로운 리스트가 만들어지는 것이 아니라 기존의 리스트를 참조) ( a=b 를 하면 b 가 변경되었을 때 a도 똑같이 변경된다. )

   리스트를 만들 때 a = b[ : ] 와 같이 b 안의 전체 값 (:)을 복사한다면 a와 b는 다른 리스트 주소값(id)를 가지게 된다. copy 모듈을 이용해서 b = copy(a) 의 형태로 b를 a와 다른 리스트로 값들을 복사해올 수 있다.

 

---- 10분 ----

연습문제 (1-12)

연습문제8 - 튜플에 값을 추가하면 기존의 튜플이 없어지고 새로운 튜플이 만들어진다(id 가 다르다) 왜냐하면 튜플은 immutable한 자료형이기 때문이다. 

연습문제9 - 딕셔너리의 키 값으로 변하는 값을 사용할 수 없다. 그래서 리스트를 사용할 수 없다.

---- 10분 ----

반응형