Programming/Python

[파이썬] 문법 정리 - 수 자료형

아윤_ 2023. 6. 25. 21:17

지난 학기에 알고리즘 스터디를 진행하게 되었는데,  

파이썬으로 코딩 테스트 문제를 풀기 위해

파이썬 간단 문법에 대해 정리한 내용을 올려보려고 한다.

 

유튜버 '동빈나'의  "이것이 취업을 위한 코딩 테스트다 with 파이썬"

강의를 보고 작성한 글이며, 강의 링크는 아래를 참고하면 된다.

 

https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 

 


 

수 자료형에 대한 개념에 대해 알아보기 전에, 먼저 자료형엔 무엇이 있는지에 대해 알아보자.

 

자료형

 

모든 프로그래밍은 결국 데이터를 다루는 행위이다.

자료형에 대한 이해는 프로그래밍의 길에 있어서의 첫 걸음이다.

 

파이썬의 자료형에는 여러 가지가 있는데, 그 종류는 다음과 같다.

 

파이썬의
자료형
수 자료형
리스트 자료형
문자열 자료형
튜플 자료형
사전 자료형
집합 자료형

 

파이썬의 자료형에는 크게

수 자료형, 리스트 자료형, 문자열, 튜플 자료형, 사전 자료형, 집합 자료형이 있다.

파이썬의 자료형은 필수적으로 알아두어야 한다.

 

 

📄 수 자료형

 

정수형

정수형(Integer)은 말 그대로 정수를 다루는 자료형이다.

정수형에는 양의 정수, 음의 정수, 0이 포함된다.

 

코딩 테스트에서 출제되는 많은 문제들은 정수형을 다룬다.

 

 

소스 코드

#양의 정수
a = 1000
print(a)

#음의 정수
a = -7
print(a)

#0
a = 0
print(a)

 

 

실행 결과

 

 

실수형

실수형(Real Number)은 소수점 아래의 데이터를 포함하는 수 자료형을 말한다.

파이썬에서는 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리된다.

소수부가 0이거나, 정수부가 0인 소수는 0을 생략하고 작성할 수 있다.

 

 

소스 코드

 

#양의 실수
a = 157.93
print(a)

#음의 실수
a = -1837.2
print(a)

#소수부가 0일 때 0을 생략
a = 5.
print(a)

#정수부가 0일 때 0을 생략
a = -.7
print(a)

 

 

실행 결과

 

 

 

지수 표현 방식

 

파이썬에서는 e나 E를 이용한 지수 표현 방식을 이용할 수 있다.

e나 E 다음에 오는 수는 10의 지수부를 의미한다.

 

예를 들어, 1e9라고 입력하게 되면, 10의 9 제곱이 된다.

지수 표현 방식은 임의의 큰 수를 표현하기 위해 주로 사용된다.

 

최단 경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한(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)

 

 

실행 결과

 

 

일반적인 문제에서는 정수형 데이터로 많이 처리하기 때문에

이 경우, 정수형으로 변환해서 처리해야 한다는 점에 유의해야 한다.

 

 

실수형 더 알아보기

 

오늘날 가장 널리 쓰이는 IEE754 표준에서는 실수형을 저장하기 위해

4바이트, 혹은 8바이트의 고정된 크기의 메모리를 할당하므로,

컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가진다.

 

예를 들어, 10진수 체계에서는 0.3과 0.6을 더한 값이 0.9로 정확히 떨어진다.

하지만, 2진수에서는 0.9를 정확히 표현할 수 있는 방법이 없다.

따라서 컴퓨터는 최대한 0.9와 가깝게 표현하지만, 미세한 오차가 발생하게 된다.

 

 

소스 코드

 

a = 0.3 + 0.6
print(a)

if a == 0.9:
  print(True)
else:
  print(False)

 

실행 결과

 

 

이처럼, 개발 과정에서 실수 값을 제대로 비교하지 못해서 원하는 결과를 얻지 못할 수 있다.

 

이럴 때는 round() 함수를 이용할 수 있으며, 이러한 방법이 권장된다.

 

예를 들어 123.456을 소수 셋째 자리에서 반올림하려면 round(123.456, 2)라고 작성한다면

의미 : 123.456을 소수점 둘째 자리까지 출력하라.

결과 : 123.46

 

 

소스 코드

 

a = 0.3 + 0.6
print(round(a, 4))

if round(a, 4) == 0.9:
  print(True)
else:
  print(False)

 

 

실행 결과

 

 

 

수 자료형의 연산

 

수 자료형에 대하여 사칙연산과 나머지 연산자가 많이 사용된다.

단, 나누기 연산자(/)를 주의해서 사용해야 한다.

 

파이썬에서 나누기 연산자(/)는 나눠진 결과를 실수형으로 반환한다.

다양한 로직을 설계할 때, **나머지 연산자(%)**를 이용해야 할 때가 많다.

 

예 : a가 홀수인지 체크하는 경우

 

파이썬에서는 몫을 얻기 위해 **몫 연산자(//)**를 사용한다.

이외에도 거듭제곱 연산자()**를 비롯해 다양한 연산자들이 존재한다.

 

 

소스 코드

 

a = 7
b = 3

#나누기
print(a/b)

#나머지
print(a%b)

#몫
print(a//b)

#거듭 제곱
print(a**b)

#제곱근
print(a**0.5)

 

 

실행 결과