Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник:blog.CSDN.net/Генерал сказал, о...
Отказ от ответственности: во время обучения технологии искусственного интеллекта многие студенты задавали мне некоторые вопросы, связанные с Python, поэтому, чтобы дать студентам более обширные знания и лучшее понимание технологии искусственного интеллекта, я попросил своего помощника поделиться этой серией. учебников по python Надеюсь, поможет всем! Поскольку этот учебник по Python написан не мной, он не такой забавный и юмористический, как мое обучение технологии ИИ, и его более скучно изучать; но его знания все еще на месте, и его также стоит прочитать! PS: Для студентов, которые не понимают эту статью, пожалуйста, сначала прочитайте предыдущую статью, и вам не составит труда учиться понемногу каждый день шаг за шагом!
// оператор часто называют делением усечения, а точнее делением пола, которое усекает результат до его нижнего уровня, ближайшего целого числа ниже истинного результата. Немедленный эффект заключается в округлении, а не строгом усечении, и это также работает для отрицательных чисел. Вы можете использовать математический модуль Python, чтобы увидеть разницу самостоятельно:
>>> import math
>>> math.floor(2.5)
2
>>> math.floor(-2.5)
-3
>>> math.trunc(2.5)
2
>>> math.trunc(-2.5)
-2
Для положительных чисел усечение и деление на этаж одинаковы, для отрицательных чисел усечение и деление на этаж различны. Вот что происходит в Python 3.0:
C:\misc> c:\python30\python
>>> 5 / 2,5 / -2
(2.5,-2.5)
>>> 5 // 2,5 // -2 # Truncates to floor: rounds to first lower integer
(2,-3) # 2.5 becomes 2,-2.5 becomes -3
>>> 5 / 2.0,5 / -2.0
(2.5,-2.5)
>>> 5 // 2.0,5 // -2.0 # Ditto for floats,though result is float too
(2.0,-3.0)
Ситуация в Python 2.6 похожа, но результат / другой (для студентов, которые не могут понять этот пункт знаний, см. предыдущую статью):
C:\misc> c:\python26\python
>>> 5 / 2,5 / -2 # Differs in 3.0
(2,-3)
>>> 5 // 2,5 // -2 # This and the rest are the same in 2.6 and 3.0
(2,-3)
>>> 5 / 2.0,5 / -2.0
(2.5,-2.5)
>>> 5 // 2.0,5 // -2.0
(2.0,-3.0)
Если вы действительно хотите выполнить усечение независимо от знака, вы всегда можете передать math.trunc, чтобы получить результат деления с плавающей запятой, независимо от версии Python:
C:\misc> c:\python30\python
>>> import math
>>> 5 / -2 # Keep remainder
-2.5
>>> 5 // -2 # Floor below result
-3
>>> math.trunc(5 / -2) # Truncate instead of floor
-2
C:\misc> c:\python26\python
>>> import math
>>> 5 / float(-2) # Remainder in 2.6
-2.5
>>> 5 / -2,5 // -2 # Floor in 2.6
(-3,-3)
>>> math.trunc(5 / float(-2)) # Truncate in 2.6
-2