«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему Python 3 выполняет разделение с плавающей точкой вместо целочисленного подразделения?

Почему Python 3 выполняет разделение с плавающей точкой вместо целочисленного подразделения?

Опубликовано в 2025-03-23
Просматривать:830

Why Does Python 3 Perform Floating-Point Division Instead of Integer Division?

Почему Python выполняет разделение с плавающей точкой для целочисленного деления

в недавних версиях Python (3 далее), целочисленное разделение (делящее два целых числа) дает поплавок вместо целочисленного. Это поведение отличается от более ранних версий, которые предпочитали целочисленные результаты для целочисленных операндов.

рассмотрим следующее разделение в Python 3:

>>> 2 / 2
1.0

Этот удивительный результат может вызвать путаницу, особенно если вы привыкли к более старым версиям Python.

Причина изменения

обоснование этого изменения задокументирована в PEP-238: изменение оператора разделения. Предложение было направлено на:

  • ввести однозначное разделение пола, обозначенное оператором //
  • избавить потенциал для непреднамеренных конверсий типа и ошибок в раунде с помощью Mixed-Type Operands. Ваш код Python:

Если вам нужно целочисленное разделение (округленное к нулю), явно используйте оператор //

, если вы ожидаете результата поплавки, кастинг не требуется. Ясно. Результат = 2 // 2 # 1 # Float Division result = 2/2 # 1.0

    дополнительные ресурсы
  • ]
  • [PEP-238: изменение оператора деления] (https://www.python.org/dev/peps/pep-0238/)
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3