__future__

L’inclusione del modulo __future__ si comporta come una direttiva per il compilatore e permette di utilizzare la sintassi 3.x in ambito 2.x

from __future__ import ...
  • Deve apparire nella prima riga del codice
  • Puoi scegliere tra
    1. absolute_import
    2. division
    3. generators
    4. unicode_literals
    5. print_function
    6. nested_scopes
    7. with_statement
  • In ambito 3.x l’inclusione non avrà alcun effetto

Con

from __future__ import division

La divisione è sempre in virgola mobile

Osserva

2.x 3.x
>>> 1/2
0
>>> 1.0/2
0.5
>>> from __future__ import division
>>> 1/2
0.5
>>> 1/2
0.5

Con

from __future__ import print_function

Utilizza la funzione print() piuttosto che l’istruzione print


Con

from __future__ import division, print_function

Entrambe…