Sözdizimi Hatası: Şans Değil


124

Python IDLE'de aşağıdaki kodu çalıştırmayı denedim

from __future__ import braces 

Ve şu hatayı aldım:

SyntaxError: not a chance

Yukarıdaki hata ne anlama geliyor?

Yanıtlar:


170

Python'da bir paskalya yumurtası buldunuz. Bir şaka.

Bu, blokları girinti yerine küme ayracı ile sınırlamanın hiçbir zaman uygulanmayacağı anlamına gelir.

Normalde , özel __future__modülden içe aktarmalar, print()işlev veya gerçek bölme gibi geriye dönük uyumsuz özellikleri etkinleştirir .

Çizgi Yani from __future__ import bracesalınır Özelliği 'parantezi ile oluşturmak blokları' etkinleştirmek istediğiniz anlamına gelir ve istisna sana bunu şansınızı anlatır için hiç edilmektedir oluyor nil.

Bunu import __hello__, import thisve gibi , Python'da bulunan uzun şakalar listesine ekleyebilirsiniz import antigravity. Python geliştiricilerinin iyi gelişmiş bir mizah anlayışı var!


10
Argo olan "şanssızlık" ile şaşkına dönen insanlar için bu, bir şeyin olma olasılığı veya olasılığı olmadığı anlamına gelir.
DOK

Bunu bir uzantı olarak python'da uygulamanın teorik olarak mümkün olup olmadığını kendime soruyorum. (Ben bir python geliştiricisi değilim)
hek2mgl


2
@chepner Less Whitespace, More Enterprise: D Teşekkürler!
hek2mgl

2
@dumbledad: Haskell, CoffeeScript, Miranda, Occam ve F # söz diziminde boşlukları kullanır. Not: bu yorum dizisi kontrolden çıkıyor; daha fazla tartışmak istiyorsanız lütfen Python sohbet odasına katılın .
Martijn Pieters

29

__future__Modül normalde Python gelecekteki sürümlerinde gelen özellikleri sağlamak için kullanılır.

Bu, geliştiricilerinin bu konudaki duygularını özetleyen bir paskalya yumurtasıdır.

Birkaç tane daha var:

import this Python'un zenini gösterecek.

import __hello__görüntülenecek Hello World....

Python 2.7 ve 3.0'da import antigravitytarayıcıyı bir çizgi roman olarak açacak!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.