[Python] 숫자 연산

Posted by nkjok
2025. 7. 21. 18:28 낙서장[1]/94. Python
반응형

파이썬의 숫자형에는 정수형(int)과 실수형(float)이 있습니다.
정수형과 실수형은 소수점 유무로 구분됩니다.
소수점을 작성하지 않으면 정수형 숫자가 생성됩니다.
소수점을 작성하면 실수형 숫자가 생성됩니다.


2️⃣ 숫자를 이용한 연산
숫자형 사이에 사칙연산, 몫 연산, 나머지 연산, 거듭제곱 연산 등 수학 연산이 가능합니다.
나눗셈 연산은 항상 결과로 실수형을 반환합니다.
연산자 설명 예시
+ 덧셈 1 + 2 → 3
- 뺄셈 4 - 2 → 2
* 곱셈 5 * 2 → 10
/ 나눗셈 12 / 5 → 2.4
// 몫(정수 나눗셈) 12 // 5 → 2
% 나머지 12 % 5 → 2
** 거듭제곱 2 ** 3 → 8
[표] 주요 수학 연산자



print(3 + 3)
print(3 - 3)
print(3 * 3)
print(3 / 3)
# 결과
6
0
9
1.0


나눗셈 결과가 무한 소수인 경우, 근사치로 계산됩니다.
print(5 / 3)
# 결과
1.6666666666666667


➕ 무한 소수를 정확하게 표현할 수 없는 이유
파이썬은 실수를 부동소수점 방식으로 처리합니다.
부동소수점은 표현할 수 있는 소수의 자릿수와 범위가 한정적입니다.
유한한 메모리 공간에 저장하기 때문에 모든 숫자를 정확히 표현할 수 없습니다.
이진수로 유한하게 표현할 수 없는 소수는 근사치로 저장됩니다.
간단한 실수형 계산에도 오차가 발생할 수 있습니다.
print(0.1 + 0.2)
# 결과
0.30000000000000004


print(2 ** 3)
# 결과
8


print(5 / 2)
print(5 // 2)
print(5 % 2)
# 결과
2.5
2
1


⚠️ 여기서 잠깐!
나눗셈과 관련된 연산에서 0으로 나누면 ZeroDivisionError가 발생합니다.
print(12 / 0)
# 결과
ZeroDivisionError: division by zero


print(12 // 0)
# 결과
ZeroDivisionError: integer division or modulo by zero


print(12 % 0)
# 결과
ZeroDivisionError: integer modulo by zero


3️⃣ 수학 연산자 우선순위
수학 연산자 사이에는 우선순위가 존재합니다.
우선순위가 높은 연산자일수록 연산이 먼저 진행됩니다.
우선순위 연산자
1 거듭제곱( ** )
2 곱셈( * ), 나눗셈( / ), 몫( // ), 나머지( % )
3 덧셈( + ), 뺄셈( - )
[표] 수학 연산자 우선순위



print(3 + 2 * 2)
# 결과
7


소괄호로 연산을 감싸면 해당 연산이 먼저 진행됩니다.
print((3 + 2) * 2)
# 결과
10

반응형

'낙서장[1] > 94. Python' 카테고리의 다른 글

[Python] 리스트 LIST  (2) 2025.07.23
[Python] 비교연산자  (1) 2025.07.22
[Python] 문자슬라이싱  (0) 2025.07.21
[Python] 패킷 필터 도구 코드 해설  (0) 2025.05.27
[Python] 함수 def 사용방법  (0) 2025.02.09