Синтаксическая ошибка: нет шансов

124

Я попытался выполнить следующий код в IDLE Python

from __future__ import braces 

И я получил следующую ошибку:

SyntaxError: not a chance

Что означает указанная выше ошибка?

Анураг-Sharma
источник

Ответы:

170

Вы нашли пасхальное яйцо в Python. Это шутка.

Это означает, что разделение блоков фигурными скобками вместо отступа никогда не будет реализовано.

Обычно импорт из специального __future__модуля включает функции, которые обратно несовместимы, такие как print()функция или истинное деление.

Таким образом, строка from __future__ import bracesозначает, что вы хотите включить функцию «создавать блоки с фигурными скобками», а исключение сообщает вам, что ваши шансы на то, что это когда-либо произойдет, равны нулю.

Можно добавить , что в длинный список в шутках , включенных в Python, так же как import __hello__, import thisи import antigravity. У разработчиков Python хорошо развито чувство юмора!

Мартейн Питерс
источник
10
Для людей, озадаченных жаргонным выражением «не случайность», это означает, что ничего не может произойти.
DOK
Я спрашиваю себя, можно ли теоретически реализовать это - как расширение - в python. (Я не разработчик python)
hek2mgl
2
@chepner Less Whitespace, More Enterprise: D Спасибо!
hek2mgl
2
@dumbledad: Haskell, CoffeeScript, Miranda, Occam и F # используют пробелы в синтаксисе. Примечание: эта ветка комментариев выходит из-под контроля; пожалуйста, присоединяйтесь к чату Python, если хотите продолжить обсуждение.
Martijn Pieters
29

__future__Модуль обычно используется для обеспечения функций в будущих версиях Python.

Это пасхальное яйцо, которое подводит итог тому, что думают разработчики по этому поводу.

Еще несколько:

import this отобразит дзен Python.

import __hello__будет отображаться Hello World....

В Python 2.7 и 3.0 import antigravityоткроется в браузере комикс!

zhangyangyu
источник