* 모든 프로그래밍은 데이터를 다루는 행위이며 자료형에 대한 이해는 프로그래밍의 길에 있어서 첫걸음 임
파이썬의 자료형
- 정수형(Integer)
- 실수형(Real Number)
- 복소수형
- 문자열
- 리스트
- 튜플
- 사전(딕셔너리)
- 정수형(Integer) - 양, 음, 0
a = 1000
# 1000이라는 상수 값을 a라는 변수에 대입
파이썬에서는 큰 수 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 의 범위도 C나 JAVA처럼 long type로 처리 하지 않고 int type으로 처리한다.
- 실수형(Real Number) - 소수점 아래 데이터를 포함하는 수 자료형
a = 157.93
a = -1837.2
a = 5.
# 소수부가 0일 때 0 생략 5.0
a = -.7
# 정수부가 0일 때 0 생략 결과 : -0.7
- 지수 표현방식 - e나 E를 이용해 지수를 표현할 수 있으며 임의의 큰 수를 표현하기 위해 자주 사용됨
1e9 = 10의 9제곱 (1,000,000,000)
유효숫자e^지수 = 유효숫자 * 10^지수
최단 경로와 같이 다양한 그래프 알고리즘에서는 도달할 수 없는 노드에 최단 거리를 임의의 큰 값으로 무한(INF)을 설정할 수 있음
이때, 최대값이 10억 미만이라면 무한(INF)값으로 1e9를 이용할 수 있다.
지수값은 기본적으로 실수형 데이터이며 실수 연산 오차로 인해 발생할 수 있는 오류를 일정부분 예방 가능하기 때문에 int()로 정수 값으로 변경 해주는 것이 좋음.
a = 1e9 # 1000000000.0
a = int(1e9) # 1000000000
a = 75.25e1 # 752.5
a = 3954e-3 # 3.954
- 일반적으로 사용중인 IEEE754 표준에서는 실수형을 저장하기 위해 4바이트 혹 8바이트의 고정된 크기의 메모리를 할당하므로 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계가 있음
- 10진수 체계에서는 0.9를 정확하게 표현 가능하나 2진수에서는 0.9를 정확하게 표현할 수 있는 방법이 없음
a = 0.3 + 0.6
print(a) # 오차발생(0.8999999999999)
if a == 0.9:
print(True)
else :
print(False) # 결과 False
- 해결 방법으로 round() 함수를 이용할 수 있으며 이 방법이 권장된다. (소수 아래 몇자리 까지 결과를 보장할 수 있다 명시함)
a = 0.3+0.6
print(round(a, 4)) # 0.9
수 자료형의 연산
- 사칙연산과 나머지 연산자가 많이 사용됨.
- 나누기(/) 연산자는 나눠진 결과를 실수형으로 반환하니 주의 해야함(py2는 정수로 반환)
- 나머지 연산자(%) : 변수 a가 홀수 인지 체크할 때
- 몫 연산자(//)
- divmod() 함수를 이용하면 튜플형태로 몫과 나머지를 반환한다.
- 거듭제곱(**) 등 많은 연산자를 제공한다.
# 주요 연산
# 덧셈
a += 5
a = a + 5
# 뺄셈
a -= 5
a = a - 5
# 곱셈
a *= 5
a = a * 5
# 나눗셈
a /= 5
a = a / 5
# 몫
a //= 5
a = a // 5
# 나머지
a %= 5
a = a % 5
# 몫 과 나머지를 튜플형태로 반환
divmod(a, 5)
본 글은 나동빈 - 이코테 2021 강의 몰아보기를 토대로 작성한 정리입니다.
좋은 강의를 올려주신 나동빈님께 감사드립니다.
'코딩테스트' 카테고리의 다른 글
이코테 5강 리뷰 (사전, 집합 자료형) (0) | 2022.05.13 |
---|---|
이코테 4강 리뷰 (문자열, 튜플 자료형) (0) | 2022.05.13 |
이코테 3강 리뷰 (리스트 자료형) (0) | 2022.05.12 |
이코테 1강 리뷰 (알고리즘 성능 평가) (0) | 2022.05.10 |