Python에서 나눗셈 연산자 이해하기
Lukas Schneider
DevOps Engineer · Leapcell

Key Takeaways
/
는 true 나눗셈을 수행하며 Python 3에서는 항상 float를 반환합니다.//
는 floor 나눗셈을 수행하고 음의 무한대 방향으로 잘립니다.- Python 2와 Python 3은 기본적으로 나눗셈을 다르게 처리합니다.
Python에서 나눗셈 연산은 다양한 계산 작업에 기본적입니다. 이 언어는 두 가지 주요 나눗셈 연산자 /
와 //
를 제공합니다. 정확하고 효율적인 코드를 작성하려면 이들의 기능과 차이점을 이해하는 것이 중요합니다.
True 나눗셈 (/
)
/
연산자는 true 나눗셈을 수행하여 피연산자 유형에 관계없이 부동 소수점 결과를 반환합니다. 이 동작은 나눗셈의 결과가 소수 구성 요소를 유지하도록 보장합니다.
예시:
# 두 피연산자가 정수인 경우 result = 5 / 2 print(result) # 출력: 2.5 # 하나의 피연산자가 float인 경우 result = 5.0 / 2 print(result) # 출력: 2.5
두 경우 모두 결과는 float이며 나눗셈의 정밀도를 유지합니다.
Floor 나눗셈 (//
)
//
연산자는 floor 나눗셈으로 알려져 있으며 피연산자를 나누고 결과를 몫보다 작거나 같은 가장 큰 정수로 자릅니다. 결과의 유형은 피연산자 유형에 따라 달라집니다. 둘 다 정수이면 결과는 정수이고, 그렇지 않으면 float입니다.
예시:
# 두 피연산자가 정수인 경우 result = 5 // 2 print(result) # 출력: 2 # 하나의 피연산자가 float인 경우 result = 5.0 // 2 print(result) # 출력: 2.0
첫 번째 예에서는 결과가 정수이고 두 번째 예에서는 float이며 부동 소수점 피연산자의 존재를 반영합니다.
음수 피연산자와의 동작
음수를 다룰 때 floor 나눗셈은 음의 무한대 방향으로 내림합니다.
예시:
result = -5 // 2 print(result) # 출력: -3
여기서 -5 나누기 2
는 -2.5
와 같습니다. Floor 나눗셈은 이것을 -2.5
보다 작은 가장 큰 정수인 -3
으로 내림합니다.
다른 Python 버전의 나눗셈
Python 2.x에서 /
연산자의 동작은 피연산자 유형에 따라 다릅니다.
- 두 피연산자가 모두 정수이면
/
는 floor 나눗셈을 수행합니다. - 피연산자 중 하나 이상이 float이면
/
는 true 나눗셈을 수행합니다.
Python 2.x의 예시:
# 정수 나눗셈 result = 5 / 2 print(result) # 출력: 2 # True 나눗셈 result = 5.0 / 2 print(result) # 출력: 2.5
Python 2.x에서 일관된 true 나눗셈을 달성하려면 __future__
모듈에서 나눗셈 기능을 가져올 수 있습니다.
from __future__ import division result = 5 / 2 print(result) # 출력: 2.5
Python 3.x에서 /
는 항상 true 나눗셈을 수행하고 //
는 항상 피연산자 유형에 관계없이 floor 나눗셈을 수행합니다.
실제 응용
/
와 //
의 차이점을 이해하는 것은 나눗셈 유형이 프로그램 로직에 영향을 미치는 시나리오에서 매우 중요합니다. 예를 들어 용량을 초과하지 않고 컨테이너에 들어가는 항목 수를 결정할 때 floor 나눗셈이 적합합니다.
예시:
total_items = 17 items_per_box = 5 boxes_needed = total_items // items_per_box print(boxes_needed) # 출력: 3
여기서 //
는 전체 상자만 계산되도록 합니다.
FAQs
/
는 float(true 나눗셈)를 반환하고 //
는 floor된 결과를 반환합니다.
결과를 가장 가까운 낮은 정수로 내림합니다. 예를 들어 -5 // 2
는 -3
을 제공합니다.
/
로 true 나눗셈을 활성화하려면 from __future__ import division
을 사용하십시오.
Leapcell은 Python 프로젝트를 호스팅하는 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무료로 무제한 프로젝트 배포
- 사용량에 대해서만 지불하십시오 — 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 손쉬운 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리하기 위한 자동 확장.
- 운영 오버헤드가 전혀 없습니다 — 구축에만 집중하십시오.
설명서에서 자세히 알아보십시오!
X에서 팔로우하십시오: @LeapcellHQ