본문 바로가기
멋쟁이사자처럼 AI스쿨

데이터 타입(파이썬 강의 Day1)

by 헬푸밍 2023. 1. 2.

파이썬은 컴퓨터의 CPU, RAM, SSD(HDD)를 사용하는 방법이다...

그러므로 우리는 파이썬의 문법을 학습해야한다!


데이터타입

데이터타입은 RAM을 효율적으로 사용하는 문법이다.

 

- 기본 데이터타입

    - int, float, bool, str

- 컬렉션 데이터타입 : 식별자 1개, 데이터 n개

    - list, tuple, dict, set

    - CRUD : create, read, update, delete

 

- type() : 식별자의 데이터 타입 출력

data1, data2, data3, data4 = -10, 1.2, True, 'python'
type(data1), type(data2), type(data3), type(data4)

이렇게 식별자의 타입이 출력된다.

우리는 여기서 파이썬과 같은 인터프리터 언어의 특징인 동적타이핑을 확인해 볼 수 있다.

(동적타이핑 : 변수선언시 자동으로 데이터타입이 지정)

 

컬렉션 데이터 타입

1. list([]) : 순서가 있고 수정이 가능

data1 = [1, 2, 3, 'A', 'B']
data1, type(data1)

    - list의 데이터 선택(masking)

        - data[idx], data[start:end], data[start:end:stride]로 마스킹

        - idx는 인덱스, start는 시작(데이터 포함), end는 끝(데이터 포함하지 않음), stride는 증가값

        - start의 디폴트 값은 처음, end의 디폴트 값은 끝, stride의 디폴트 값은 1

data1 = [1, 2, 3, 'A', 'B']
print(data1)
data1[3], data1[2:4], data1[:2], data1[3:], data1[::2]

다음과 같이 데이터를 마스킹 했을 경우 아래와 같이 출력된다.

    - 음수 마스킹(맨 마지막 인덱스가 -1)

data1 = [1, 2, 3, 'A', 'B']
print(data1)
data1[-2], data1[-2:], data1[::-1]

다음과 같이 음수를 사용해 데이터를 마스킹 했을 경우 아래와 같이 출력된다.

특히 data[::-1]같은 경우 순서를 역순으로 할 때 사용한다.

    - 데이터 수정(update) : 데이터 선택 = 수정할 데이터의 형식으로 수정

data1 = [1, 2, 3, 'A', 'B']
print(data1)
data1[3] = 'C'
print(data1)

다음과 같이 data1이 수정된다.

    - 데이터 삭제(delete) : del 데이터 선택의 형식으로 수정

data1 = [1, 2, 3, 'A', 'B']
print(data1)
del data1[2]
print(data1)

다음과 같이 데이터가 삭제된다.

 

2. tuple(()) : 순서가 있고 수정이 불가능(같은 데이터를 가지고 있으면 list보다 저장 공간이 적음)

data2 = (1, 2, 3, 'A', 'B')
data2, type(data2)

    - 데이터 선택 : 튜플의 데이터 선택은 리스트와 같음

    - 데이터 수정 불가

data2 = (1, 2, 3, 'A', 'B')
print(data2)
data2[3] = 'C'
print(data2)

리스트와 같은 방법으로 수정해보면...

다음과 같이 오류가 발생한다.

    - 튜플을 사용하는 이유 : 저장공간을 적게 차지함

import sys
d1, d2 = [1, 2, 3], (1, 2, 3)
sys.getsizeof(d1), sys.getsizeof(d2)

아래와 같이 튜플의 사이즈가 리스트보다 더 작은 것을 확인할 수 있다.

 

3. dict({}) : 순서가 없고 수정이 가능, 순서값이 아니라 키값을 사용({키값, 밸류값}의 형식)

data3 = {'one' :1, 2 : 'two'}
data3, type(data3)

    - 데이터 수정 : 데이터 선택 = 수정할 데이터의 형식으로 삭제

data3 = {'one' :1, 2 : 'two'}
print(data3)
data3['one'] = 10
print(data3)

아래와 같이 데이터가 수정된다.

    - 데이터 삭제(delete) : del 데이터 선택의 형식으로 삭제

data3 = {'one' :1, 2 : 'two'}
print(data3)
del data3[2]
print(data3)

다음과 같이 데이터가 삭제된다.

 

4. set(set()) : 집합 데이터를 표현하며 중복 데이터를 허용하지 않음, 교집합, 합집합, 차집합 연산 가능

data4 = set([1, 2, 3, 2])
data4, type(data4)

    - 집합의 연산(교집합 : &, 합집합 : |, 차집합 : -)

d1, d2 = set([1, 2, 3]), set([2, 3, 4])
print(d1 & d2, d1 | d2, d1 - d2)

집합 연산의 결과는 다음과 같다.


이렇게 데이터 타입에 대해 알아보았습니다.

 

잘 이해했죠?

 

그럼 안녕><

댓글