TIl

4. 데이터타입

아크몽 2024. 1. 13. 18:23

자료형

type() 함수를 통해 자료형 쉽게 확인 가능

크게 숫자(number), 시퀀스(sequence)m 매핑(mapping)등으로 나눌 수 있음

1. 숫자

정수 ( int ) , 부동소수점수( float), 복소수 (complex )

1-1 정수 int

100_000_000  # 세 자리마다
100000000
>>> 1_0000_0000  # 네 자리마다
100000000
이런 표현식 가능

1-2 부동소수점수 flaot

type(2.8)          # 부동소수점수

5 / 3
1.6666666666666667

1-3 복소수 complex

type(3+4j)           # 복소수

파이썬에서는 허수를 j로 나타냅니다.

(1j) ** 2
(-1+0j)

(1 + 1j) ** 10       # (1+1j)**2 = 1 + 2j + j**2 = 2j => (2j)**5 => 32j**5 => 32j
32j

2. 시퀀스

문자열 (str), 리스트(list), 튜플(tuple), 사용자 정의 클래스

for 문에서 사용할 수 있는 것들

type("Love your Enemies, for they tell you your Faults.")

type(['love', 'enemy', 'fault']) # ['','',''] 리스트

type(('love', 'enemy', 'fault')) # ('','','') 튜플

2-1. 문자열

슬라이싱
x = 'banana'
x[0] => 'b'
x[2:4] => 'na' # 2이상 4미만
x[:3] => 'ban' # ~ 3미만
x[3:] => 'ana' # 3이상
x[::-1] => 'ananab' # 역순으로 복사
- x[0] = 'n' (X) 
- .find() : 문자열의 어떤글자의 인덱스번호 
- .rstrip() : 오른쪽의 공백(여백) 제거
- .split() : 분할한 리스트 생성

2-2 리스트

prime = [a,b,c]
- .apend(d) : 마지막 인덱스로 추가 하는것
- .sort() : 원소 크기 순으로 정렬
- .insert(x,y) : x 앞에 y값 삽입
- pop() : 원소 삭제 후 해당 원소를 반환  z = prime.pop() 할 경우 prime은 [a,b] z = c 가 됨
- primme[0] = 1 (0) # 문자열과의 차이점
- 리스트 안의 리스트 (0)
    orders = [ a, [b,c], d]  orders[1][0] = b
- 슬라이싱 가능

2-3 튜플 tuple

()로 감싼다, 물론 안 깜싸도 가능

def magu_print(x, y, *rest):    # 마구 찍어 함수    print(x, y, rest)

magu_print(1, 2, 3, 5, 6, 7, 9, 10)
1 2 (3, 5, 6, 7, 9, 10)
# 함수를 정의할 때 인자에 별표를 붙여두면
# 그 이후에 들어오는 것은 모두 튜플에 집어넣는 것

# 원소값을 직접 바꿀순 없음
p = (1,2,3)
q =p[:1] + (5,) + p[2:]
print(q) # (1, 5, 3)
r = p[:1], 5, p[2:]
print(r) # ((1,), 5, (3,))

튜플 <-> 리스트 간 바꾸기 가능함

3. 매핑

딕셔너리( dict )는 키 ( key ), 값( value )의 짝으로 이뤄짐 = 매핑

type({'one': 1, 'two': 2, 'three': 3}) # {'':1, '':2, '':3 } 매핑

해싱(hashing)기법 사용 = 자료가 순서대로 저장X
- 항목 추가 : smalldic['python'] = 'snake' 
- 항목 삭제 : del smalldic['dictionary']
- 키 얻기 : smalldic.keys()
- 값 얻기 : smalldic.values()
- 원소(키/값 쌍) 얻기 : smalldic.items()
- 키 확인 : 'x' in 딕셔너리

4. 기타

4-1 불 bool : 참 거짓 표현

4-2 세트 set : 집합을 표현

세트는 원소의 순서가 유지되지 않고 중복 원소를 갖지 않는 ‘집합’으로서의 특징이 있으며, 집합 연산을 사용할 수 있습니다.