파이썬은 컴퓨터의 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)
집합 연산의 결과는 다음과 같다.
이렇게 데이터 타입에 대해 알아보았습니다.
잘 이해했죠?
그럼 안녕><

'멋쟁이사자처럼 AI스쿨' 카테고리의 다른 글
문자열 데이터 표현과, 변수를 문자열에 삽입하는 방법(파이썬 강의 Day1) (2) | 2023.01.02 |
---|---|
데이터의 속성값을 출력하는 함수와 얕은 복사, 깊은 복사(파이썬 강의 Day1) (0) | 2023.01.02 |
변수선언(파이썬 강의 Day1) (0) | 2023.01.02 |
프로그래밍과 파이썬(파이썬 강의 Day1) (0) | 2023.01.02 |
멋쟁이 사자처럼 1주차 회고 (2) | 2022.12.23 |
댓글