웹사이트 검색

연산자를 사용하여 Python 3에서 수학을 수행하는 방법


소개

숫자는 프로그래밍에서 매우 일반적입니다. 숫자 코드 할당을 통해 화면 크기 치수, 지리적 위치, 돈 및 포인트, 비디오에서 경과하는 시간, 게임 아바타의 위치 및 색상과 같은 것을 나타내는 데 사용됩니다.

프로그래밍에서 수학적 연산을 효과적으로 수행할 수 있다는 것은 얼마나 자주 숫자로 작업하게 되는지 때문에 개발해야 할 중요한 기술입니다. 수학에 대한 높은 수준의 이해는 확실히 더 나은 프로그래머가 되는 데 도움이 될 수 있지만 전제 조건은 아닙니다. 수학에 대한 배경 지식이 없다면 수학을 성취하고 싶은 것을 성취하기 위한 도구로 생각하고 논리적 사고를 향상시키는 방법으로 생각하십시오.

우리는 파이썬에서 가장 많이 사용되는 두 가지 숫자 데이터 유형인 정수와 부동 소수점으로 작업할 것입니다.

  • 정수는 양수, 음수 또는 0(…, -1, 0, 1, …)이 될 수 있는 정수입니다.
  • 부수는 실수이며 소수점을 포함합니다(9.0 또는 -2.25에서와 같이).

이 튜토리얼에서는 Python에서 숫자 데이터 유형과 함께 사용할 수 있는 연산자를 살펴봅니다.

전제 조건

컴퓨터나 서버에 Python 3가 설치되어 있고 프로그래밍 환경이 설정되어 있어야 합니다. 프로그래밍 환경이 설정되지 않은 경우 운영 체제(Ubuntu, CentOS, Debian 등)에 적합한 서버의 프로그래밍 환경에 대한 설치 및 설정 가이드를 참조할 수 있습니다.

연산자

연산자는 연산을 나타내는 기호 또는 함수입니다. 예를 들어, 수학에서 더하기 기호 또는 +는 더하기를 나타내는 연산자입니다.

Python에서는 수학에서 가져온 몇 가지 친숙한 연산자를 볼 수 있지만 사용할 다른 연산자는 컴퓨터 프로그래밍에만 적용됩니다.

다음은 Python의 수학 관련 연산자에 대한 빠른 참조 테이블입니다. 이 자습서에서는 다음 작업을 모두 다룰 것입니다.

Operation What it returns
x + y Sum of x and y
x - y Difference of x and y
-x Changed sign of x
+x Identity of x
x * y Product of x and y
x / y Quotient of x and y
x // y Quotient from floor division of x and y
x % y Remainder of x / y
x ** y x to the y power

산술 연산자를 = 연산자와 결합하는 +=*=를 포함한 복합 대입 연산자도 다룰 것입니다.

덧셈과 뺄셈

Python에서 더하기 및 빼기 연산자는 수학과 유사하게 수행됩니다. 실제로 Python 프로그래밍 언어를 계산기로 사용할 수 있습니다.

정보: 이 자습서의 예제 코드를 따라하려면 python3 명령을 실행하여 로컬 시스템에서 Python 대화형 셸을 엽니다. 그런 다음 >>> 프롬프트 뒤에 추가하여 예제를 복사, 붙여넣기 또는 편집할 수 있습니다.

정수로 시작하는 몇 가지 예를 살펴보겠습니다.

print(1 + 5)
[secondary_label Output] 
6

정수를 print 문에 직접 전달하는 대신 정수 값을 나타내도록 변수를 초기화할 수 있습니다.

a = 88
b = 103

print(a + b)
Output
191

정수는 양수와 음수(0도 가능)가 될 수 있으므로 양수에 음수를 더할 수 있습니다.

c = -36
d = 25

print(c + d)
Output
-11

덧셈은 float와 유사하게 동작합니다:

e = 5.5
f = 2.5

print(e + f)
Output
8.0

두 개의 부동 소수점을 함께 추가했기 때문에 Python은 소수점이 있는 부동 소수점 값을 반환했습니다.

빼기 구문은 더하기 기호(+)에서 빼기 기호(-)로 연산자를 변경한다는 점을 제외하면 더하기 구문과 동일합니다.

g = 75.67
h = 32

print(g - h)
Output
43.67

여기에서 float에서 정수를 뺍니다. 파이썬은 방정식에 포함된 숫자 중 적어도 하나가 부동 소수점인 경우 부동 소수점을 반환합니다.

단항 산술 연산

단항 수식은 하나의 구성 요소 또는 요소로만 구성되며 Python에서 더하기 및 빼기 기호는 값의 ID(+)를 반환하기 위해 값과 쌍을 이루는 단일 요소로 사용할 수 있습니다. 값의 부호(-).

일반적으로 사용되지는 않지만 더하기 기호는 값의 ID를 나타냅니다. 양수 값에는 더하기 기호를 사용할 수 있습니다.

i = 3.3
print(+i)
Output
3.3

음수 값과 함께 더하기 기호를 사용하면 해당 값의 ID도 반환되며 이 경우 음수 값이 됩니다.

j = -19
print(+j)
Output
-19

음수 값의 경우 더하기 기호는 동일한 음수 값을 반환합니다.

또는 빼기 기호는 값의 기호를 변경합니다. 따라서 양수 값을 전달할 때 값 앞의 빼기 기호가 음수 값을 반환한다는 것을 알 수 있습니다.

i = 3.3
print(-i)
Output
-3.3

또는 음수 값과 함께 빼기 기호 단항 연산자를 사용하면 양수 값이 반환됩니다.

j = -19
print(-j)
Output
19

더하기 기호와 빼기 기호로 표시되는 단항 산술 연산은 +i의 경우 값의 ID를 반환하거나 -i에서와 같이 값의 반대 기호를 반환합니다. .

곱셈과 나눗셈

덧셈과 뺄셈처럼 곱셈과 나눗셈은 수학에서 하는 것과 매우 유사합니다. 파이썬에서 곱셈에 사용할 부호는 *이고 나눗셈에 사용할 부호는 /입니다.

다음은 두 개의 float 값을 사용하여 Python에서 곱셈을 수행하는 예입니다.

k = 100.1
l = 10.1

print(k * l)
Output
1011.0099999999999

Python 3에서 나눌 때 두 개의 정수를 사용하더라도 몫은 항상 실수로 반환됩니다.

m = 80
n = 5

print(m / n)
Output
16.0

이것은 Python 2와 Python 3 사이의 주요 변경 사항 중 하나입니다. Python 3의 접근 방식은 분수 답을 제공하므로 /를 사용하여 112 로 나눌 때 5.5의 몫이 반환됩니다. Python 2에서 11/2 표현식에 대해 반환된 몫은 5입니다.

Python 2의 / 연산자는 바닥 나누기를 수행합니다. 여기서 몫 x의 경우 반환되는 숫자는 x보다 작거나 같은 가장 큰 정수입니다. 위의 print(80/5) 예제를 Python 3 대신 Python 2로 실행하면 16이 소수점 없이 출력됩니다.

Python 3에서는 //를 사용하여 바닥 분할을 수행할 수 있습니다. 100/40 표현식은 2 값을 반환합니다. 바닥 나눗셈은 몫이 정수여야 할 때 유용합니다.

모듈로

% 연산자는 나눗셈 후 몫이 아닌 나머지를 반환하는 모듈로입니다. 이것은 예를 들어 같은 숫자의 배수인 숫자를 찾는 데 유용합니다.

작동 중인 모듈로를 살펴보겠습니다.

o = 85
p = 15

print(o % p)
Output
10

이를 분석하기 위해 85를 15로 나누면 5의 몫과 나머지 10이 반환됩니다. 값 10은 모듈로 연산자가 나눗셈 식의 나머지를 반환하기 때문에 여기서 반환되는 값입니다.

모듈로와 함께 두 개의 부동 소수점을 사용하면 나머지에 대해 부동 소수점 값이 반환됩니다.

q = 36.0
r = 6.0

print(o % p)
Output
0.0

36.0을 6.0으로 나눈 경우 나머지가 없으므로 0.0의 값이 반환됩니다.

Python의 ** 연산자는 왼쪽의 숫자를 오른쪽 지수의 거듭제곱으로 올리는 데 사용됩니다. 즉, 5 ** 3 식에서 5는 3제곱됩니다. 수학에서 우리는 종종 이 표현이 5³로 표현되는 것을 봅니다. 그리고 실제로 진행되는 것은 5가 3번 곱해지는 것입니다. Python에서는 5 ** 3 또는 5 * 5 * 5를 실행하여 125라는 동일한 결과를 얻습니다.

변수가 있는 예를 살펴보겠습니다.

s = 52.25
t = 7

print(s ** t)
1063173305051.292

** 연산자를 통해 float 52.257의 거듭제곱으로 올리면 큰 float 값이 반환됩니다.

연산자 우선 순위

수학에서와 마찬가지로 Python에서도 연산자는 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로가 아니라 우선 순위에 따라 평가된다는 점을 명심해야 합니다.

다음 표현을 보자면:

u = 10 + 10 * 5

왼쪽에서 오른쪽으로 읽을 수 있지만 곱셈이 먼저 수행되므로 print(u)를 호출하면 다음 값을 받게 됩니다.

Output
60

이는 10 * 550으로 평가되고 10을 추가하여 60을 최종 결과로 반환하기 때문입니다. .

대신 10 값을 10에 더하고 그 합계에 5를 곱하려면 수학에서처럼 괄호를 사용할 수 있습니다. :

u = (10 + 10) * 5
print(u)
Output
100

작업 순서를 기억하는 한 가지 방법은 약어 PEMDAS를 사용하는 것입니다.

Order Letter Stands for
1 P Parentheses
2 E Exponent
3 M Multiplication
4 D Division
5 A Addition
6 S Subtraction

BEDMAS 또는 BODMAS와 같이 작업 순서에 대한 또 다른 약어에 익숙할 수 있습니다. 가장 적합한 약어가 무엇이든 Python에서 수학 연산을 수행할 때 예상한 결과가 반환되도록 염두에 두십시오.

할당 연산자

가장 일반적인 할당 연산자는 이미 사용한 것입니다: 등호 =. = 할당 연산자는 오른쪽의 값을 왼쪽의 변수에 할당합니다. 예를 들어 v = 23은 정수 23의 값을 변수 v에 할당합니다.

프로그래밍할 때 변수 값에 대해 연산을 수행한 다음 결과로 생성된 새 값을 해당 변수에 할당하는 복합 할당 연산자를 사용하는 것이 일반적입니다. 이러한 복합 연산자는 산술 연산자를 = 연산자와 결합하므로 추가를 위해 +=와 결합하여 복합 연산자 +=. 어떻게 생겼는지 검토해 보겠습니다.

w = 5
w += 1
print(w)
Output
6

먼저 변수 w5의 값과 같게 설정한 다음 += 복합 할당 연산자를 사용하여 올바른 숫자를 추가했습니다. 왼쪽 변수의 값을 그런 다음 결과를 w에 할당합니다.

복합 대입 연산자는 for 루프의 경우 자주 사용되며 프로세스를 여러 번 반복하려는 경우에 사용합니다.

for x in range (0, 7):
    x *= 2
    print(x)
Output
0 2 4 6 8 10 12

for 루프를 사용하여 변수 w에 숫자 2를 곱한 다음 할당하는 *= 연산자의 프로세스를 자동화할 수 있었습니다. for 루프의 다음 반복을 위한 변수 w의 결과.

Python에는 이 자습서에서 설명하는 각 산술 연산자에 대한 복합 할당 연산자가 있습니다.

y += 1			# add then assign value

y -= 1			# subtract then assign value

y *= 2			# multiply then assign value

y /= 3			# divide then assign value

y // = 5		# floor divide then assign value

y **= 2			# increase to the power of then assign value

y %= 3			# return remainder then assign value

복합 할당 연산자는 항목을 점진적으로 늘리거나 줄여야 하거나 프로그램에서 특정 프로세스를 자동화해야 할 때 유용할 수 있습니다.

결론

이 튜토리얼에서는 정수 및 부동 소수점 숫자 데이터 유형과 함께 사용할 많은 연산자를 다루었습니다. Python에서 숫자에 대해 계속 읽고 싶다면 숫자 작업을 위한 내장 Python 3 함수로 계속 진행할 수 있습니다.

다른 데이터 유형에 대해 자세히 알아보려면 Python 3에서 데이터 유형을 변환하는 방법을 살펴보십시오.