Syntaxfehler: Keine Chance


123

Ich habe versucht, den folgenden Code im Python-IDLE auszuführen

from __future__ import braces 

Und ich habe folgenden Fehler erhalten:

SyntaxError: not a chance

Was bedeutet der obige Fehler?

Antworten:


169

Sie haben in Python ein Osterei gefunden. Das ist ein Witz.

Dies bedeutet, dass die Begrenzung von Blöcken durch geschweifte Klammern anstelle von Einrückungen niemals implementiert wird.

Normalerweise Einfuhren aus dem speziellen __future__Modul ermöglichen , Funktionen , die rückwärts-kompatibel sind, wie beispielsweise die print()Funktion, oder wahr Division.

Die Zeile bedeutet from __future__ import bracesalso, dass Sie die Funktion "Blöcke mit geschweiften Klammern erstellen" aktivieren möchten, und die Ausnahme gibt an, dass Ihre Chancen, dass dies jemals passiert, gleich Null sind.

Sie können , dass die lange Liste von in-Witzen in Python, wie eingeschlossen hinzufügen import __hello__, import thisund import antigravity. Die Python-Entwickler haben einen ausgeprägten Sinn für Humor!


10
Für Leute, die verwirrt sind von "keine Chance", was Slang ist, bedeutet dies, dass es keine Möglichkeit oder Wahrscheinlichkeit gibt, dass etwas passiert.
DOK

Ich frage mich, ob es theoretisch möglich wäre, dies als Erweiterung in Python zu implementieren. (Ich bin kein Python-Entwickler)
hek2mgl


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

2
@dumbledad: Haskell, CoffeeScript, Miranda, Occam und F # verwenden alle Leerzeichen in der Syntax. Hinweis: Dieser Kommentarthread gerät außer Kontrolle. Bitte treten Sie dem Python-Chatraum bei, wenn Sie weitere Diskussionen führen möchten.
Martijn Pieters

29

Das __future__Modul wird normalerweise verwendet, um Funktionen aus zukünftigen Versionen von Python bereitzustellen.

Dies ist ein Osterei, das die Gefühle seiner Entwickler zu diesem Thema zusammenfasst.

Es gibt mehrere weitere:

import this zeigt den Zen von Python an.

import __hello__wird angezeigt Hello World....

In Python 2.7 und 3.0 import antigravitywird der Browser für einen Comic geöffnet!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.