Ранее я уже упоминал о другой фишке из ˍˍ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
❗️La situation à la centrale nucléaire de #Bouchehr en Iran continue de se détériorer en raison des bombardements, a déclaré Alexeï #Likhatchov.
Un projectile a explosé pour la troisième fois près d’une station de pompage qui assure notamment l’approvisionnement en eau des équipements du réacteur, ce qui constitue une menace directe pour la sûreté nucléaire, a souligné le chef de Rosatom.
RT en français • Osez questionner !
⚛️#Rosatom a l’intention de poursuivre la construction de la centrale nucléaire de Bouchehr, a déclaré Mikhaïl Oulianov, représentant permanent de la #Russie auprès des organisations internationales à Vienne. Le personnel retournera sur le site « dès que la situation militaire le permettra », a-t-il précisé.
ℹ️ La centrale nucléaire de #Bouchehr est la seule exploitation en Iran. Les employés travaillaient à la construction des deuxième et troisième réacteurs, mais les travaux ont été suspendus par le lancement de l'opération militaire américano-israélienne contre l'Iran. Le 20 avril, Rosatom a achevé l'évacuation de ses 632 employés.
RT en français • Osez questionner !