Ранее я уже упоминал о другой фишке из ˍˍfutureˍˍ , это оператор деления.
from __future__ import division
Суть проста. Раньше сложность типа данных результата поределялась типом самого сложного операнда.
Например:
int/int => int
int/float => float
В первом случае оба операнда int, значит и результат будет int. Во втором float более сложный тип, поэтому результат будет float.
Если нам требуется получить дробное значение при делении двух int то приходилось форсированно один из операндов конверировать в float.
12/float(5) => float
Но с новой "философией" это не требуется. В Python3 "floor division" заменили на "true division" а старый способ теперь работает через оператор "//".
>>> 3/2
1.5
>>> 3//2
1
То есть теперь деление int на int даёт float если результат не целое число.
В классах теперь доступны методы __floordiv__() и __truediv__() для определения поведения с этими операторами.
Данный переход описан в PEP238.
#pep#2to3#basic
India's UPI is taking the world by storm!
With 1 crore+ transactions per hour, 2 lakh+ per minute, and 3500 per second, India leads the real-time payments revolution. Surpassing the US, UK, Germany, and France combined, India holds 46% of all real-time transactions worldwide. UPI is empowering millions like never before.
#8YearsOfDigitalIndia
Honorable Prime Minister #NarendraModi leadership has transformed #DigitalIndia. With a simple click, everything became possible. From digital identities to widespread connectivity, India is scripting a golden chapter of its digital revolution. Check out the video showcasing this remarkable growth.
Visit Now: https://youtu.be/7y2qLEZlOcQ
#8YearsOfDigitalIndia