學(xué)習(xí)之Python簡介)
Python 簡介Python歷史Python的創(chuàng)始人為荷蘭人吉多·范羅蘇姆Guido van Rossum。1989年的圣誕節(jié)期間吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時間決心開發(fā)一個新的腳本解釋程序作為 ABC 語言的一種繼承。之所以選中Python作為程序的名字是因為他是 BBC 電視劇——蒙提·派森的飛行馬戲團Monty Pythons Flying Circus的愛好者。1991年第一個 Python 編譯器誕生。它是用C語言實現(xiàn)的并能夠調(diào)用C語言的庫文件。Python 2.0于 2000 年 10 月 16 日發(fā)布增加了實現(xiàn)完整的垃圾回收并且支持Unicode。Python 3.0于 2008 年 12 月 3 日發(fā)布此版不完全兼容之前的Python源代碼。不過很多新特性后來也被移植到舊的Python 2.6/2.7版本。第一行Python代碼安裝好Python之后在命令行下輸入python就可以進入Python解釋器的頁面。按照慣例第一行代碼應(yīng)該是輸出hello world!printhello world!hello world!相對與JavaC等語言Python僅僅使用一行語句就完成的了這個任務(wù)。可以將這句話的內(nèi)容保存到一個文本文件中并使用后綴名.py結(jié)尾例如hello_world.py在命令行下運行這個程序python hello_world.py也會輸出hello world!的結(jié)果。Python 之禪在Python解釋器下輸入import this會出來這樣一首小詩importthisThe 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 arent 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 youre Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, its a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- lets do more of those!這首詩反映了Python的設(shè)計哲學(xué)——Python是一種追求優(yōu)雅明確簡單的編程語言但事實上產(chǎn)生這首詩的代碼并沒有寫的那么簡單易懂sGur Mra bs Clguba, ol Gvz Crgref Ornhgvshy vf orggre guna htyl. Rkcyvpvg vf orggre guna vzcyvpvg. Fvzcyr vf orggre guna pbzcyrk. Pbzcyrk vf orggre guna pbzcyvpngrq. Syng vf orggre guna arfgrq. Fcnefr vf orggre guna qrafr. Ernqnovyvgl pbhagf. Fcrpvny pnfrf nerag fcrpvny rabhtu gb oernx gur ehyrf. Nygubhtu cenpgvpnyvgl orngf chevgl. Reebef fubhyq arire cnff fvyragyl. Hayrff rkcyvpvgyl fvyraprq. Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff. Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg. Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbher Qhgpu. Abj vf orggre guna arire. Nygubhtu arire vf bsgra orggre guna *evtug* abj. Vs gur vzcyrzragngvba vf uneq gb rkcynva, vgf n onq vqrn. Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn. Anzrfcnprf ner bar ubaxvat terng vqrn -- yrgf qb zber bs gubfr!d{}forcin(65,97):foriinrange(26):d[chr(ic)]chr((i13)%26c)print.join([d.get(c,c)forcins])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 arent 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 youre Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, its a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- lets do more of those!Life is short. Use Python.