3.32 __future__ -- Definizione delle istruzioni future

__future__ è un modulo reale, e si propone tre obiettivi:

Ogni dichiarazione in __future__.py è nella forma:


 FeatureName = "_Feature(" OptionalRelease "," MandatoryRelease ","
                         CompilerFlag ")"
 

dove, normalmente, OptionalRelease è minore di MandatoryRelease, ed entrambe sono composte da tuple a cinque elementi, nella stessa forma di sys.version_info:

    (PY_MAJOR_VERSION, # il numero 2 in 2.1.0a3; un intero
     PY_MINOR_VERSION, # il numero 1; un intero
     PY_MICRO_VERSION, # il numero 0; un intero
     PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" o "final"; stringa
     PY_RELEASE_SERIAL # il numero 3; un intero
    )

OptionalRelease registra la prima versione in cui la caratteristica introdotta è stata accettata.

Nel caso di una MandatoryRelease che non sia stata ancora rilasciata, MandatoryRelease predice la versione in cui la nuova caratteristica diverrà parte del linguaggio.

Altrimenti MandatoryRelease registra il momento in cui la nuova caratteristica è stata introdotta come facente parte del linguaggio; nelle versioni in questione o in quelle successive, i moduli non necessitano più di un'istruzione future per utilizzare la nuova caratteristica, ma possono continuare ad usarla nella sua importazione.

MandatoryRelease può anche essere None, significa che la novità pianificata verrà eliminata.

Le istanze di classe _Feature possiedono due metodi corrispondenti, getOptionalRelease() e getMandatoryRelease().

CompilerFlag è l'opzione (campo di bit) che dovrebbe venire passato nel quarto argomento della funzione built-in compile() per abilitare la nuova caratteristica nel codice compilato dinamicamente. Questa opzione viene memorizzata nell'attributo compiler_flag sulle istanze _Future.

Nessuna descrizione di funzionalità verrà cancellata da __future__.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.