Lỗi cú pháp: Không phải là một cơ hội


123

Tôi đã thử thực thi mã sau trong IDLE python

from __future__ import braces 

Và tôi gặp lỗi sau:

SyntaxError: not a chance

Lỗi trên nghĩa là gì?

Câu trả lời:


169

Bạn đã tìm thấy một quả trứng Phục sinh bằng Python. Đó là một trò đùa.

Có nghĩa là việc phân định khối bằng dấu ngoặc nhọn thay vì thụt đầu dòng sẽ không bao giờ được thực hiện.

Thông thường , nhập từ mô-đun đặc biệt__future__ cho phép các tính năng không tương thích ngược, chẳng hạn như print()hàm hoặc phân chia thực sự.

Vì vậy, các dòng from __future__ import bracesđược thực hiện để có nghĩa là bạn muốn kích hoạt các lệnh 'create khối với niềng răng' tính năng, và các ngoại lệ cho bạn biết cơ hội của bạn mà bao giờ xảy ra được không.

Bạn có thể thêm nó vào danh sách dài những câu chuyện cười có trong Python, giống như import __hello__, import thisimport antigravity. Các nhà phát triển Python có khiếu hài hước rất tốt!


10
Đối với những người hoang mang bởi "không phải là một cơ hội", đó là tiếng lóng, nó có nghĩa là không có khả năng hoặc xác suất xảy ra.
DOK

Tôi tự hỏi bản thân rằng về mặt lý thuyết có thể thực hiện điều đó - như một phần mở rộng - trong python hay không. (Tôi không phải là một nhà phát triển python)
hek2mgl


2
@chepner Less Whitespace, More Enterprise: D Cảm ơn!
hek2mgl

2
@dumbledad: Haskell, CoffeeScript, Miranda, Occam và F # đều sử dụng khoảng trắng trong cú pháp. Lưu ý: chủ đề bình luận này đang trở nên khó hiểu; vui lòng tham gia phòng trò chuyện Python nếu bạn muốn thảo luận thêm.
Martijn Pieters

29

Các __future__mô-đun thường được sử dụng để cung cấp các tính năng từ các phiên bản tương lai của Python.

Đây là một quả trứng phục sinh tóm tắt cảm nhận của các nhà phát triển về vấn đề này.

Có một số khác:

import this sẽ hiển thị zen của Python.

import __hello__sẽ hiển thị Hello World....

Trong Python 2.7 và 3.0, import antigravitysẽ mở trình duyệt cho một truyện tranh!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.