1989年圣誕節前夕,山雨欲來風滿樓,計算機程序設計語言界隱隱有大事要發生,果然不出所料。江湖人稱龜叔(Guido von Rossum),就是這位祖籍荷蘭的大能,在圣誕節百無聊賴的期間,發明了Python。自此,Python一發不可收拾,備受業界人士喜愛,迅速占領各大行業、公司、企業,成功登頂語言類排行榜。
至此,Python已然成為人人爭搶修煉的一本秘籍。這與龜叔的設計初衷理念是分不開的。早期,電腦內存的限制,效率低下,程序語言執行過程繁瑣,并且語言適應方向單一,運維腳本與程序開發不能兼具高效率開發。就是在這種迫切需要一種語言,能夠解決上述窘境、全面調用計算機的功能接口的Python語言應運而生。可以說python的出生是一種必然。
Python語言的誕生,是在關鍵的時刻解決至關重要的難題,而不是要與其他語言一較高下,一決雌雄的。Python有著自己獨特的領域,能做其他所不能做,完成其他所不能完成,你說想到的只是Python的附加項,沒錯,就是你現在想到的。所以說Python的特點是‘優雅’、‘明確’、‘簡潔’。
Python這個名字的由來,由于龜叔喜愛一部電視劇‘Monty Python’s Flying Circus’,很獨特很任性是嗎,龜叔:What can you do for me?Python是由C語言寫出來的,因為Python最初的理念就是創造一種與C和Shell之間的功能全面的,易學易用,可拓展性很強的語言。所以說Python是一種大方得體,平易近人的。
簡單來講,對比一下:C語言的執行方式是編譯為機器碼、執行速度疾如雷電、代碼量盈千累萬;Java語言的執行方式是編譯為字節碼、執行速度快馬加鞭、代碼量車載斗量;Python語言的執行方式是解釋執行、執行速度風度翩翩、而代碼量則是言簡意賅的,用《道德經》里面的一句話來講就是‘少而精,簡而遠’。執行的速度快很重要對嗎?是的,但是在大多數的程序應用中是需要數據傳輸的,所以說執行的速度再快,數據傳輸跟不上也是一樣的。沒聽過嗎,再厲害的跑車在四環路上也只能跑20而已。
Python的發展趨勢和實際應用場景,已經不需要說了是嗎,看幾條新聞,看幾條招聘,有什么比現實更現實的,我們能做也只能是為了追趕現實而努力。
最后,Python的“轉世”過程是瀟灑的,在2版本發展使用的過程中,Python3橫空出世,被稱為Py3K。所以說Python在版本過渡的過程中也是由坎坷的,到目前為止2版本中最成熟的是2.7版本,但官方只支持到2020年。這也就說明python3已經很成熟,大可以放心選擇、使用、版本替換了。
安裝過程簡單。
Python也有自己的明信片,可以查看Python之禪(The Zen of Python, by Tim Peters),通過在交互式Shell中import this查看。
>>> 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之禪
優美勝于丑陋
明了勝于晦澀
簡潔勝于復雜
復雜勝于凌亂
扁平勝于嵌套
間隔勝于緊湊
可讀性很重要
即便假借特例的實用性之名,也不可違背這些規則
不要包容所有錯誤,除非你確定需要這樣做
當存在多種可能,不要嘗試去猜測
而是盡量找一種,最好是唯一一種明顯的解決方案
雖然這并不容易,因為你不是 Python 之父
做也許好過不做,但不假思索就動手還不如不做
如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然
命名空間是一種絕妙的理念,我們應當多加利用!