//
est inconditionnellement "tronquer la division", e.g:
>>> 4.0//1.5
2.0
Comme vous le voyez, même si les deux opérandes sont des float
s, //
encore tronque-de sorte que vous savez toujours en toute sécurité ce qu'il va faire.
Seul /
peut ou peut ne pas tronquer selon version de Python, les importations à l'avenir, et même des drapeaux sur lesquels Python, e.g....:
$ python2.6 -Qold -c 'print 2/3'
0
$ python2.6 -Qnew -c 'print 2/3'
0.666666666667
Comme vous le voyez, seul /
peut tronquer, ou il peut renvoyer à un flotteur, basée sur complètement non à des questions locales, jusqu'à et y compris la valeur de l' -Q
drapeau...;-).
Donc, si et quand vous savez que vous voulez de troncature, toujours utiliser //
, ce qui la garantit. Si et quand vous savez que vous n'avez pas envie de troncature, une claque float()
autour de l'autre opérande et l'utilisation /
. Toute autre combinaison, et vous êtes à la merci de la version, les importations et les drapeaux!-)