Welcome to the Matrix

006. 파이썬 숫자 자료형 연산 본문

Python/PythonBasic

006. 파이썬 숫자 자료형 연산

haru.keiko 2020. 12. 22. 19:39

파이썬 숫자 자료형 연산 썸네일

파이썬의 숫자 자료형을 가지고 '할 수 있는 것(연산)'에 대해서 알아보겠습니다. 

숫자 자료형을 가지고 어떤 것을 할 수 있을까요?

 

이전에 파이썬의 숫자 자료형은 우리가 배웠던 수학의 수와 다르지 않다고 했습니다. 이 말은 수학에서 수를 가지고 할 수 있는 것들을 파이썬의 숫자 자료형으로도 동일하게 할 수 있다는 말이 됩니다. 

 

파이썬에서는 숫자 자료형을 다루기 위해 '사칙연산('+', '-', '*', '/')', '나누기 연산('//')', '나머지 연산('%')', 그리고 '제곱 연산('**')' 이렇게 총 7가지의 기본 연산을 제공합니다. 이 외에도 올림, 내림, 제곱근, 지수 로그 등을 함수라는 것을 통해 제공하는데요, 이번에는 기본 연산에 대해서만 알아보고, 수학 함수의 종류나 사용하는 방법들은 나중에 따로 알아보도록 하겠습니다. 

 

사칙연산

기본적으로 수학에서 수를 가지고 할 수 있는 대표적인 연산은 '사칙연산'이 있습니다. 사칙연산은 '더하기(+)', '빼기(-)', '곱하기(*)', '나누기(/)'를 의미합니다. 

컴퓨터의 세계에서 곱하기는 '*', 나누기는 '/'로 표현합니다. 

 

파이썬 또한 숫자 자료형을 가지고 동일하게 사칙연산을 할 수 있습니다. 

 

다음은 정수 자료형을 이용해 연산을 하는 파이썬 코드를 살펴보겠습니다. 

파이썬 정수 자료형을 이용한 사칙연산 예제 코드

 

우리가 상식적으로 생각하는 사칙연산과 동일하게 파이썬에서도 동작하는 것을 확인할 수 있습니다. 

 

나누기 연산을 할 경우, 결과는 정수가 아니라 실수라는 것을 알 수 있습니다.

왜 그럴까요?

 

수학에서 나누기 연산은 정수에 대해 닫혀있지 않습니다.

예를 들어, 10 / 2 = 5입니다. 그리고 10 / 3 = 3.33333.....입니다. 즉, 정수 나누기 정수를 할 경우 그 결과가 항상 정수가 되는 것은 아닙니다. 그렇기 때문에 나누기 연산의 경우 그 결과에 대해 정수가 아닌 실수로 판단할 수 있는 것입니다.

파이썬 또한 실제 현실 세계를 단순히 디자인해 표현하는 프로그래밍 언어이기 때문에 기본적인 수의 성질을 그대로 표현하니다. 

 

이번에는 실수 자료형을 이용해 연산을 하는 파이썬 코드를 살펴보겠습니다. 

파이썬 실수 자료형을 이용한 사칙연산 예제 코드

 

실수 연산도 정상적으로 사칙연산을 할 수 있음을 확인했습니다. 

 

이 정도는 초등학교 수학만 알고 있다면 누구나 할 수 있겠죠? ㅎㅎ

 

정수 나누기 연산

앞 예에서 본 것처럼 정수 나누기 정수를 하면 그 결과가 실수 자료형이 된다는 것을 알았습니다.

 

하지만, 때론 나누기 연산을 하면서 그 몫과 나머지를 이용해야 할 경우가 있을 수 있습니다. 

실수를 사용하지 못하는 상황에서 10 나누기 3의 값으로 3이라는 몫과 1이라는 나머지를 사용할 경우가 생길 수 있는 것이죠..

마치 초등학교에서 실수를 접하지 않은 학생에게 10 나누기 3의 값은 3(그리고 나머지는 1)이라고 하는 것처럼요. 

상황에 따라 이런 값을 이용해야 할 경우가 많이 있습니다. 

 

나누기 연산자

이때 이용할 수 있는 연산이 '나누기 연산자('//')'입니다. 나누기 연산은 숫자를 나누었을 때 실수로 표현되는 수에 대해서 소수점 이하 값을 버리고 정수 값만을 사용하는 연산입니다. 

나누기 연산자는 파이썬에서 연산기호로 '//'를 사용합니다. 

 

다음 예에서 나누기 연산자를 이용한 파이썬 코드를 살펴봅시다. 

파이썬 숫자 자료형을 이용한 나누기 연산 예제

 

정수와 실수에 대해 '나누기'와 '나누기 연산자'가 어떻게 다른지 확인할 수 있습니다. 

 

나머지 연산자

나누기 연산자를 이용해 나누어 떨어지지 않는 값의 몫을 구할 수 있었습니다. 그럼 나머지는 그냥 버리는 걸까요?

파이썬에는 나머지를 구하는 연산자도 준비되어 있답니다. 이를 '나머지 연산자'라고 하는데요, 파이썬에선 연산 기호로 '%'를 사용합니다. 

 

다음 예에서 나머지 연산자를 이용한 파이썬 코드를 살펴봅시다.

파이썬 숫자 자료형을 이용한 나머지 연산 예제

 

나머지 연산 결과를 보면 우리의 예상을 빗나가지 않습니다. 

10을 3으로 나누면 몫은 3이고, 나머지는 1이 되는 것이죠. 마찬가지로 6.0을 5로 나누면 몫은 1.0이고, 나머지는 1.0이 되는 것입니다. 

 

너무 간단하죠~!!

네, 네, 어렵지 않아요~!! ㅎㅎ

 

제곱 연산자

파이썬에는 '제곱 연산자'라고 해서 숫자를 제곱하는 연산자('**')가 있습니다. 

수학에서는 $2^3$이라고 하는 것을 파이썬에서는 2**3로 씁니다. 

 

다음 예를 통해 파이썬의 제곱 연산자에 대해서 살펴봅시다. 

파이썬 숫자 자료형을 이용한 제곱 연산자 예제

 

제곱 연산도 파이썬에서 정상적으로 동작하는 것을 확인했습니다.  

 

연산자 우선순위

연산자에는 수학에서 사용하는 연산자와 동일하게 '연산자 우선순위'라는 것이 있습니다. 

모두들 알고 있는 것처럼 더하기와 빼기는 곱하기와 나누기보다 우선순위가 낮습니다. 파이썬도 이 우선순위를 그대로 지키고 있습니다. 

만일, 연산의 길이가 길어진다거나 혹은 연산 간의 우선순위를 바꾸고 싶을 경우에는 괄호를 사용해 우선순위를 바꿀 수 있습니다. 

파이썬 숫자 자료형의 연산자 우선순위 예제

 

위의 예에서 볼 수 있는 것처럼 괄호는 모든 연산에서 가장 큰 우선순위를 갖게 할 수 있습니다. 

1+2+3*4+5/6을 계산하는 우선순위는 괄호를 묶어 1+2+(3*4)+(5/6)과 동일합니다. 수학의 우선순위와 동일한 것을 확인할 수 있습니다. 

그리고 괄호를 사용해 계산식의 우선순위를 바꿀 수 있습니다. 

 

이게 파이썬에서 요구하는, 우리가 알아야 할 수를 다루는 자료형의 전부입니다. 

 

어때요? 

간단하죠~

우리가 생각할 수 있는 기본적인 상식을 벗어나지 않죠~ 그래서 파이썬을 배우기 쉬운 언어라고 한답니다.