Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 수학 연산자 완벽 가이드: 기초부터 활용까지

어떤 프로그램을 개발하든 코드 어딘가에서 숫자를 다루게 됩니다. 레스토랑 앱에서 메뉴의 가격을 저장하거나, 환율 변환 앱에서 서로 다른 통화 간의 계산을 수행하는 데 숫자를 사용할 수 있죠.

Python 초보자들이 가장 자주 묻는 질문 중 하나는 바로 "코드에서 숫자에 대한 수학 연산을 어떻게 수행하는가?"입니다. 이 튜토리얼은 바로 그 질문에 대한 답을 제공합니다. Python 수학 연산자의 기본기를 차근차근 익힐 수 있도록 안내하며, 글을 끝까지 읽으면 Python의 내장 수학 연산자를 전문가처럼 활용할 수 있게 될 것입니다.

연산자란 무엇인가?

Python의 수학 연산자 사용법을 살펴보기 전에, 먼저 연산자 자체에 대한 개념부터 짚고 넘어가겠습니다.

연산자(operator)는 프로그램에서 특정 동작을 수행하는 특수 기호입니다. 예를 들어, 빼기 기호(-)는 연산자의 한 종류로, 뺄셈 연산을 수행하는 데 사용됩니다.

연산자에는 여러 종류가 있지만, 이 튜토리얼에서는 Python 수학 연산자에 집중합니다. 수학 연산자는 "산술 연산자(arithmetic operators)"라고도 불립니다.

덧셈과 뺄셈

연산자의 기본 개념을 알았으니, 이제 덧셈과 뺄셈부터 시작해 Python 수학 연산자의 사용법을 자세히 살펴보겠습니다.

더하기 기호(+)는 덧셈을, 빼기 기호(-)는 뺄셈을 수행합니다. 몇 가지 예제를 통해 직접 확인해 보겠습니다.

예를 들어 5와 10을 더한다고 가정해 보겠습니다. 다음 코드로 구현할 수 있습니다:

print(5 + 10)

코드 실행 결과: 15

Python 개발자들은 수학식에서 변수를 자주 사용합니다. 변수에 이름을 지정하면 다루는 값들의 용도를 쉽게 파악할 수 있어 코드의 가독성이 크게 향상되기 때문입니다. 예를 들어, 27에서 19를 빼려면 다음과 같이 작성할 수 있습니다:

a = 27
b = 19

print(a - b)

코드 실행 결과: 8

위 코드에서 ab는 변수입니다. a에 27, b에 19를 할당한 후, a에서 b를 뺀 값입니다.

Python 수학 연산자를 사용할 때는 양수와 음수를 모두 사용할 수 있습니다. 단, 수학적으로 성립하는 연산이어야 합니다. 예를 들어 0으로 나누려고 하면 오류가 발생합니다. 양수와 음수를 더하는 예제는 다음과 같습니다:

a = 8
b = -9

print(a + b)

코드 실행 결과: -1

지금까지는 정수(integer)를 다뤘지만, Python의 수학 연산에서는 부동소수점 수(float, 소수점이 있는 숫자)도 사용할 수 있습니다. 연산에 소수를 지정하면 프로그램은 소수 형태의 결과를 반환합니다.

예를 들어 8.2에 4를 더한다고 가정해 보겠습니다:

print(8.2 + 4)

코드 실행 결과: 12.2

보시다시피 프로그램은 두 수의 합을 소수 형태로 반환했습니다.

곱셈과 나눗셈

Python에서 별표 하나(*)는 곱셈에, 슬래시 하나(/)는 나눗셈에 사용됩니다.

92에 8을 곱한다고 가정해 보겠습니다:

a = 92
b = 8

print(a * b)

코드 실행 결과: 736

보시다시피 * 연산자를 사용해 두 수를 곱했습니다.

마찬가지로 두 부동소수점 수를 나눈다고 가정해 보겠습니다. Python 3에서는 다음과 같이 작성합니다:

a = 18.2
b = 2

print(a / b)

코드 실행 결과: 9.1

이 코드에서는 슬래시(/)를 사용해 두 수를 나눴습니다.

여기서 주목할 점이 있습니다. Python 3에서 슬래시로 나눗셈을 수행하면 결과가 항상 반올림되지 않은 부동소수점 수(float)로 반환됩니다. 반면 Python 2에서 슬래시로 나눗셈을 하면 결과는 정수로 반환됩니다.

따라서 위 코드를 Python 2에서 실행하면 결과는 9가 됩니다.

나머지(Modulo) 연산자

퍼센트 기호(%)는 Python에서 나머지(modulo) 연산자로 기능합니다. 이 연산자는 나눗셈의 최종 결과가 아니라 수학적 나머지를 반환합니다.

예를 들어 20을 6으로 나눈 나머지를 구한다고 가정해 보겠습니다:

a = 20
b = 6

print(a % b)

코드 실행 결과: 2

20은 6으로 세 번 나눌 수 있고, 나머지는 2입니다. 따라서 프로그램은 2를 반환합니다.

거듭제곱(Power) 연산자

별표 두 개(**)는 Python의 거듭제곱 연산자입니다. 거듭제곱 연산자를 사용하면 한 숫자를 다른 숫자만큼 거듭제곱할 수 있습니다. 즉, 어떤 숫자를 일정 횟수만큼 반복해서 곱하는 것과 같습니다.

예를 들어 5의 3제곱, 즉 5를 세 번 곱한 값(5 × 5 × 5)을 계산한다고 가정해 보겠습니다:

a = 5
b = 3

print(a ** b)

코드 실행 결과: 125

거듭제곱 연산자는 프로그램에게 a의 값을 b의 지수만큼 거듭제곱하라고 지시합니다. 따라서 위 코드에서 프로그램은 5의 3제곱인 125를 계산해 반환했습니다.

연산 순서(연산자 우선순위)

수학에서 문제는 특정한 연산 순서에 따라 해결됩니다. 여러 연산이 포함된 계산을 수행할 때는 미리 정해진 규칙에 따라 순서가 결정됩니다.

Python에서도 마찬가지입니다. 실제로 Python은 수학에서 사용하는 표준 연산 순서를 그대로 따릅니다.

다음 코드를 살펴보겠습니다:

problem = 10 + 15 / 2

이 식을 왼쪽에서 오른쪽으로 읽고 표준 연산 순서를 고려하지 않으면 답은 12.5가 됩니다. 그러나 이것은 정답이 아닙니다.

수학 문제를 풀 때는 덧셈 전에 나눗셈을 먼저 수행해야 합니다. 따라서 15를 먼저 2로 나눈 후, 그 결과를 10에 더해야 합니다. 정답은 17.5입니다.

마찬가지로 이 식을 Python에서 실행하면 프로그램은 17.5를 반환합니다.

수학의 연산 순서는 다음과 같습니다:

  • Brackets — 괄호
  • Order — 거듭제곱 및 제곱근
  • Division — 나눗셈
  • Multiplication — 곱셈
  • Addition — 덧셈
  • Subtraction — 뺄셈

이것이 바로 BODMAS 약어의 유래입니다. Python은 수학 문제를 처리할 때 이 순서를 따릅니다.

Python 연산자 참조표

이 튜토리얼에서 살펴본 주요 Python 수학 연산자들을 한눈에 볼 수 있도록 정리했습니다:

연산자설명
+두 수를 더합니다.
-왼쪽 수에서 오른쪽 수를 뺍니다.
*두 수를 곱합니다.
/왼쪽 수를 오른쪽 수로 나눕니다.
%나눗셈의 나머지를 계산합니다.
**왼쪽 수를 오른쪽 수만큼 거듭제곱합니다.

결론

Python은 코드에서 숫자를 자유롭게 다룰 수 있는 다양한 수학 연산자를 제공합니다.

이 튜토리얼에서는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지, 거듭제곱 연산자의 사용법을 예제와 함께 살펴보았습니다. 또한 Python이 수학 문제를 풀 때 따르는 연산 순서(연산자 우선순위)도 함께 알아보았습니다. 이제 Python 수학 연산자를 전문가처럼 활용할 준비가 되었습니다!