자료형
- 모든 프로그래밍은 결국 데이터를 다루는 행위
- 자료형에 대한 이해는 프로그래밍의 길에 있어 첫 걸음
- 파이썬의 자료형으로는 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등이 있다.
- 다양한 기능 제공
- 파이썬의 자료형은 필수적으로 알아 두어야 한다.
ex) 파이썬에서 리스트 = C++의 벡터 라이브러리, Java에서의 array list 라이브러리가 제공하는 기본 기능을 이미 가지고 있다.
→ 별도의 표준 라이브러리를 불러오지 않아도 됨
- 다른 언어의 라이브러리 단에서 제공하는 강력한 기능을 라이브러리를 불러오지 않아도 쉽고 간결하게 이용 가능
정수형
- 정수형(Integer)은 정수를 다루는 자료형이다.
- 양의 정수, 음의 정수, 0
- 코딩 테스트에서 출제되는 많은 문제들은 정수형을 주로 다루게 됨
# 양의 정수
a = 1000 # 대입 연산자 이용
print(a)
# 음의 정수
a = -7
print(a)
# 0
a = 0
print(a)
# ---------------------------------
a = a + 5
print(a)
a = a - 3
print(a)
실수형
- 실수형(Real Number)은 소수점 아래의 데이터를 포함하는 수 자료형
- 파이썬에서는 변수에 소수점(.)을 붙인 수를 대입하면 실수형 변수로 처리됨
- 소수부가 0이거나, 정수부가 0인 소수는 0을 생략하고 작성할 수 있다.
ex) 0.7이라면 .7로 작성 가능
# 양의 실수
a = 157.93
print(a)
# 음의 실수
a = -1837.2
print(a)
# 소수부가 0일 때 0을 생략
a = 5.0
print(a)
# 정수부가 0일 때 0을 생략
a = -0.7
print(a)
지수 표현 방식
- 파이썬에서는 e나 E를 이용한 지수 표현 방식을 이용할 수 있다.
- e나 E 다음에 오는 수는 10의 지수부를 의미한다
- 0이 많이 포함된 10의 n제곱 값을 이용하고자 할 때 0을 일일히 입력하는 것 보다 간결함
- 예를 들어 1e9라고 입력하게 되면, 10의 9제곱(1,000,000,000)이 된다.
- 지수 표현 방식은 임의의 큰 수를 표현하기 위해 자주 사용된다
- 최단 경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한(INF)로 설정하곤 한다.
- 이때 가능한 최댓값이 10억 미만이라면 무한(INF)의 값으로 1e9를 사용할 수 있다.
# 1,000,000,000의 지수 표현 방식
a = 1e9
print(a)
# 752.5
a = 75.25e1
print(a)
# 3.954
a = 3954e-3
print(a)
- 지수 표현 방식은 실수형으로 출력되기 때문에 만약 정수형 데이터를 다룬다면 오류 발생을 방지하기 위해
int()를 이용해 정수 데이터로 바꿔주어야 한다
(실수 연산 오차로 인해 발생할 수 있는 오류도 예방할 수 있다.)
실수형 더 알아보기
- 오늘날 가장 널리 쓰이는 IEEE754 표준에서는 실수형을 저장하기 위해 4바이트, 혹은 8바이트의 고정된 크기의 메모리를 할당하므로, 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가진다.
- 예를 들어 10진수 체계에서는 0.3과 0.6을 더한 값이 0.9로 정확히 떨어진다.
- 하지만 2진수에서는 0.9를 정확하게 표현할 수 잇는 방법이 없다
- 컴퓨터는 최대한 0.9와 가깝게 표현하지만 미세한 오차가 발생하게 된다.
ex) 1을 3으로 나눈 값
- 10진수 체계 : 0.33333... 이렇게 10진수에서도 정확히 표현되지 않는 수가 있다
→ 1/3 같이 분수 표기법을 이용하기도 함
a = 0.3 + 0.6
print(a)
if a == 0.9:
print(True)
else:
print(False)
- 개발 과정에서 실수 값을 제대로 비교하지 못해서 원하는 결과를 얻지 못할 수도 있다
- 이럴 때는 round() 함수를 이용할 수 있다. (권장)
- 간단하게 반올림 목적으로 사용할 수 있다.
- 예를 들어 123.456을 소수 셋 째 자리에서 반올림하려면 round(123.456, 2)라고 작성한다.
- 결과는 123.46이 된다.
a = 0.3 + 0.6
print(round(a, 4))
if round(a, 4) == 0.9:
print(True)
else:
print(False)
수 자료형의 연산
- 수 자료형에 대하여 사칙 연산과 나머지 연산자가 많이 사용된다.
- 단, 나누기 연산자(/)를 주의해서 사용해야한다.
- 파이썬에서 나누기 연산자(/)는 나눠진 결과를 실수형으로 반환한다
- 다른 보통의 언어에서 나누기 연산자의 결과는 그 몫만 담는 게 일반적
- 다양한 로직을 설계할 때 나머지 연산자(%)를 이용해야할 때가 많다
- ex) a 가 홀수인지 체크해야하는 경우
특정한 수를 2로 나눈 나머지 값이 1이라면 홀수이다
- 파이썬에서는 몫을 얻기 위해 몫 연산자(//)를 사용한다
- 이외에도 거듭 제곱 연산자(**)를 비롯해 다양한 연산자들이 존재한다.
a = 7
b = 3
# 나누기
print(a / b)
# 나머지
print(a % b)
# 몫
print(a // b)
출처: https://youtu.be/INg6kdOEEVc?si=y0BEk1iiv33HWANq
'Python > 이것이코딩테스트다with파이썬' 카테고리의 다른 글
7강 :: 기본 입출력 (0) | 2023.11.02 |
---|---|
5~6강 :: 문자열, 튜플 자료형, 사전, 집합 자료형 (0) | 2023.11.01 |
4강 파이썬 문법: 리스트 자료형 (0) | 2023.09.27 |
2강 :: 알고리즘 성능 평가 (0) | 2023.09.07 |
1강 :: 코딩 테스트란 무엇인가? (1) | 2023.09.07 |