Python 五個有趣的彩蛋,你都知道嗎?

閱讀文本大概須要 6.6 分鐘。python

當一門編程語言是開源的時候,每每會有產生一些搞笑和有趣的東西。一般,這意味着社區的貢獻者會爲該語言添加一些有趣和特別的彩蛋以及隱藏的特性(固然前提是不會增長在生產環境中使用的風險)。程序員

Python 就是一個很好的例子。做爲一門開源的語言,它的社區爲其貢獻了一些十分幽默的東西。shell

旁註:若是您想觀察彩蛋,請注意,它們只能在第一次工做。若是但願從新運行它們,須要從新啓動 Python shell。編程

0. Hello World

程序員們都熟悉 Hello World 的概念。在大多數狀況下,它指的是使用該編程語言編寫的最小程序,它會將「Hello World」打印到屏幕。這多是在學習新的編程語言時首先要作的。小程序

Python 有一個酷酷的隱藏的庫,作了一些有點不同凡響的事:微信

>>> import __hello__
Hello World...

1. April Fool

下面的 April fool 玩笑是由 Barry Warsaw 提出的,與他的退休有關。他是一位著名的 Python 開發者,在他宣佈正式退休的時候,就誕生了下面這個彩蛋:less

>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True

2. 由 C++ 轉換到 Python

'braces'庫也是一個具備濃厚程序員風格的玩笑,它在其文檔中提到,當在編寫 Python 代碼時使用這個庫可提供使用 C++ 花括號的功能。但當你嘗試使用它的時候,你將會看到社區對此的見解:編程語言

>>> from __future__ import braces
SyntaxError: not a chance

哈哈哈,覺得導入 braces 就可使用花括號來結束代碼塊?Python 的答案是:沒門兒!ide

3. 經典的 Python 之禪

import this

運行此命令將顯示由 Tim Peters 編寫的"Zen Of Python(Python 之禪)"。據傳這是 Python 中的『八榮八恥』,每一個有追求的 Python 程序員都應該謹記於心。學習

import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

參考翻譯:

優美勝於醜陋。 顯式勝於隱式。 簡單勝於複雜。 複雜勝於難懂。 扁平勝於嵌套。 分散勝於密集。 可讀性應當被重視。 儘管實用性會戰勝純粹性,特例也不能凌駕於規則之上。 除非明確地使其沉默,錯誤永遠不該該默默地溜走。 面對不明確的定義,拒絕猜想的誘惑。 用一種方法,最好只有一種方法來作一件事。 雖然一開始這種方法並非顯而易見的,但誰叫你不是 Python 之父呢。 作比不作好,但立馬去作有時還不如不作。 若是實現很難說明,那它是個壞想法。 若是實現容易解釋,那它有多是個好想法。 命名空間是個絕妙的想法,讓咱們多多地使用它們吧!

4. 「反重力」漫畫

import antigravity

輸入這行代碼,會直接跳轉到漫畫網頁 xkcd。漫畫頗有意思,一我的漂浮在天空中,他的一位朋友好奇的問他是怎麼飛起來的。

image

對話內容大體翻譯:

上圖:

「你在飛!怎麼作到的?」

「Python!」

下左:

「我昨晚學習了 Python,一切都是那麼簡單」

「運行 HELLO WORLD 只須要 print "Hello World!"」

下中:

「我仍是不明白……動態類型,仍是空格?」

「來加入咱們吧,編程又再次變得有趣起來了,Python 是一個全新的世界」

「但你是怎麼飛起來的?」

下右:

「我只是輸入了 import antigravity」

「就這樣?」

「我還對藥品櫃中的全部東西進行了採樣比較」(暗指他對比過多種編程語言,但仍是以爲 Python 最簡單)

「但我想這就是 Python.」

文章轉載自 :開源中國社區 [http://www.oschina.net]

本文地址:https://www.oschina.net/news/...

歡迎關注個人微信公衆號「癡海」,後臺回去「1024」,領取最新 Python 教程。
癡海

相關文章
相關標籤/搜索