> 백엔드 개발 > 파이썬 튜토리얼 > Python 3의 `/` 연산자가 정수 대신 부동 소수점을 생성하는 이유는 무엇입니까?

Python 3의 `/` 연산자가 정수 대신 부동 소수점을 생성하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-03 17:54:09
원래의
1007명이 탐색했습니다.

Why Does Python 3's `/` Operator Produce a Float Instead of an Integer?

현대 Python에서 부동 소수점을 생성하는 정수 나누기

Python 2에서 정수 나누기(예: /)는 정수 값을 반환합니다. 그러나 이 동작은 Python 3에서 변경되었습니다. 다음을 고려하십시오.

>>> 2 / 2
1.0
로그인 후 복사

왜 이제 이 나누기가 정수 대신 부동 소수점을 생성합니까?

The Evolution of Division in Python

나누기 동작의 변화는 PEP-238에 문서화되어 있습니다.

The // operator will be available to request floor division unambiguously.
로그인 후 복사

이는 이제 정수 나누기(/)가 바닥 나누기에 // 연산자가 명시적으로 사용되지 않는 한 기본적으로 부동 소수점을 반환합니다.

문제 해결

나누기에서 정수 결과를 얻으려면 다음 두 가지 옵션이 있습니다.

  1. 바닥 나누기(//) 사용: // 연산자는 정수 나누기를 수행하고 정수 값을 반환합니다. 예:
>>> 2 // 2
1
로그인 후 복사
  1. 결과를 정수로 변환: int() 함수를 사용하여 / 나누기의 결과를 정수로 변환할 수 있습니다.
>>> int(2 / 2)
1
로그인 후 복사

결론

Python 3에서는 정수 나누기(/)는 기본적으로 부동소수점을 반환합니다. 정수 결과를 얻으려면 바닥 나누기에 // 연산자를 사용하거나 / 나누기 결과를 정수로 캐스팅할 수 있습니다.

위 내용은 Python 3의 `/` 연산자가 정수 대신 부동 소수점을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿