Errore di sintassi: nessuna possibilità


123

Ho provato a eseguire il seguente codice in python IDLE

from __future__ import braces 

E ho ricevuto il seguente errore:

SyntaxError: not a chance

Cosa significa l'errore di cui sopra?

Risposte:


169

Hai trovato un uovo di Pasqua in Python. È uno scherzo.

Significa che la delimitazione dei blocchi con parentesi graffe invece che con rientri non sarà mai implementata.

Normalmente , le importazioni dal modulo speciale__future__ abilitano funzionalità che sono incompatibili con le versioni precedenti, come la print()funzione o la vera divisione.

Così la linea from __future__ import bracessi intende che si desidera attivare il 'creare blocchi con bretelle' caratteristica, e l'eccezione ti dice le vostre probabilità di che mai accada sono pari a zero.

Puoi aggiungerlo alla lunga lista di barzellette incluse in Python, proprio come import __hello__, import thise import antigravity. Gli sviluppatori Python hanno un senso dell'umorismo ben sviluppato!


10
Per le persone sconcertate da "non una possibilità", che è gergo, significa che non c'è possibilità o probabilità che la cosa accada.
DOK

Mi chiedo se sarebbe teoricamente possibile implementarlo - come estensione - in python. (Non sono uno sviluppatore Python)
hek2mgl


2
@chepner Less Whitespace, More Enterprise: D Grazie!
hek2mgl

2
@dumbledad: Haskell, CoffeeScript, Miranda, Occam e F # utilizzano tutti gli spazi bianchi nella sintassi. Nota: questo thread di commenti sta sfuggendo di mano; per favore unisciti alla chat room di Python se vuoi discutere ulteriormente.
Martijn Pieters

29

Il __future__modulo viene normalmente utilizzato per fornire funzionalità da versioni future di Python.

Questo è un easter egg che riassume i sentimenti dei suoi sviluppatori su questo problema.

Ce ne sono molti altri:

import this mostrerà lo zen di Python.

import __hello__verrà visualizzato Hello World....

In Python 2.7 e 3.0, import antigravityaprirà il browser a un fumetto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.