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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-03 17:54:091029검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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