>백엔드 개발 >파이썬 튜토리얼 >Python의 정수 나누기가 부동 소수점 숫자 대신 0을 반환하는 이유는 무엇입니까?

Python의 정수 나누기가 부동 소수점 숫자 대신 0을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-25 03:30:13263검색

Why Does Python's Integer Division Return 0 Instead of a Floating-Point Number?

Python의 정수 나누기 이해

Python 프로그래밍 영역에서 나누기는 때때로 예상치 못한 결과를 초래할 수 있으며, 특히 전체 작업을 수행할 때 더욱 그렇습니다. 숫자. 이 질문은 (20-10) / (100-10)과 같은 간단한 나눗셈 계산이 예상되는 0.1111111111111111 대신 0으로 평가되는 이유를 탐구합니다.

이 설명은 결과를 다음으로 자르는 Python의 정수 나누기 동작에 있습니다. 기본적으로 정수입니다. 이 예에서는 (20-10)과 (100-10)이 모두 정수로 평가됩니다. 나누기를 수행할 때 결과도 정수로 변환되므로 소수 부분이 남지 않습니다. 결과적으로 최종 답은 0이 됩니다.

원하는 부동 소수점 결과를 얻으려면 나눗셈의 피연산자 중 적어도 하나를 명시적으로 부동 소수점으로 변환해야 합니다. 또는 Python 3.x의 나누기 동작을 __future__ import Division에서 가져옴으로써 Python 2.x에서 채택할 수 있습니다. 이로 인해 / 연산자는 피연산자 유형에 관계없이 항상 부동 소수점을 반환하게 됩니다.

Python에서 정수 나누기의 미묘한 차이를 이해함으로써 개발자는 예상치 못한 결과를 방지하고 코드에서 의도한 계산을 생성하도록 할 수 있습니다.

위 내용은 Python의 정수 나누기가 부동 소수점 숫자 대신 0을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.