Python翻譯成漢語是蟒蛇的意思,并且Python的logo也是兩條纏繞在一起的蟒蛇的樣子,然而Python語言和蟒蛇實(shí)際上并沒有一毛錢關(guān)系。
Python語言是由荷蘭程序員Guido van Rossum,江湖人稱“龜叔”,獨(dú)立開發(fā)完成初版的。“龜叔”曾供職于google,現(xiàn)任職于dropbox 。1989年圣誕節(jié)期間,在阿姆斯特丹,為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋語言,作為ABC語言的一種繼承,然后他就這么做了,并實(shí)現(xiàn)了(大神的能力)。之所以選中Python作為該編程語言的名字,是因?yàn)樗且粋€叫Monty Python喜劇團(tuán)體的愛好者,其本意并不是想選條蟒蛇。
Python語言的特點(diǎn)
1 簡單易學(xué)、明確優(yōu)雅、開發(fā)速度快
簡單易學(xué):與C和Java比,Python的學(xué)習(xí)成本和難度曲線不是低一點(diǎn),更適合新手入門,自底向上的技術(shù)攀爬路線。先訂個小目標(biāo)爬個小山,然后再往更高的山峰前進(jìn)。而不像C和JAVA光語言學(xué)習(xí)本身,對于很多人來說就像珠穆朗瑪峰一樣高不可攀。
明確優(yōu)雅:Python的語法非常簡潔,代碼量少,非常容易編寫,代碼的測試、重構(gòu)、維護(hù)等都非常容易。一個小小的腳本,用C可能需要1000行,用JAVA可能幾百行,但是用Python往往只需要幾十行!
開發(fā)速度快:當(dāng)前互聯(lián)網(wǎng)企業(yè)的生命線是什么?產(chǎn)品開發(fā)速度!如果你的開發(fā)速度不夠快,在你的產(chǎn)品推出之前別人家的產(chǎn)品已經(jīng)上線了,你也就沒有生存空間了,這里的真實(shí)例子數(shù)不勝數(shù)。那么,Python的開發(fā)速度說第二沒人敢稱第一!(不歡迎辯論_)
2 跨平臺、可移植、可擴(kuò)展、交互式、解釋型、面向?qū)ο蟮膭討B(tài)語言
跨平臺:Python支持Windows、Linux和MAC os等主流操作系統(tǒng)。
可移植:代碼通常不需要多少改動就能移植到別的平臺上使用。
可擴(kuò)展:Python語言本身由C語言編寫而成的,你完全可以在Python中嵌入C,從而提高代碼的運(yùn)行速度和效率。你也可以使用C語言重寫Python的任何模塊,從根本上改寫Python,PyPy就是這么干的。
交互式:Python提供很好的人機(jī)交互界面,比如IDLE和IPython。可以從終端輸入執(zhí)行代碼并獲得結(jié)果,互動的測試和調(diào)試代碼片斷。
解釋型:Python語言在執(zhí)行過程中由解釋器逐行分析,逐行運(yùn)行并輸出結(jié)果。
面向?qū)ο螅篜ython語言具備所有的面向?qū)ο筇匦院凸δ埽С只陬惖某绦蜷_發(fā)。
動態(tài)語言:在運(yùn)行時可以改變其結(jié)構(gòu)。例如新的函數(shù)、對象、甚至代碼可以被引進(jìn),已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化。動態(tài)語言非常具有活力。
3 “內(nèi)置電池”,大量的標(biāo)準(zhǔn)庫和第三方庫
Python為我們提供了非常完善的基礎(chǔ)庫,覆蓋了系統(tǒng)、網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫、文本處理等方方面面,這些是隨同解釋器被默認(rèn)安裝的,各平臺通用,你無需安裝第三方支持就可以完成大多數(shù)工作,這一特點(diǎn)被形象地稱作“內(nèi)置電池(batteries included)”。
在程序員界,有一句話叫做“不要重復(fù)造輪子”。什么意思呢?就是說不要做重復(fù)的開發(fā)工作,如果對某個問題已經(jīng)有開源的解決方案或者說第三方庫,就不要自己去開發(fā),直接用別人的就好。不要過分迷信自己的代碼能力,要知道,能作為標(biāo)準(zhǔn)庫被Python內(nèi)置,必然在可靠性和算法效率上達(dá)到了目前最高水平,能被廣泛使用的第三方庫,必然也是經(jīng)受了大量的應(yīng)用考驗(yàn)。除非公司要求,不要自己去開發(fā),請使用現(xiàn)成的庫。那些造輪子的事情,就交給世界最頂尖的那一波程序員去干吧,沒有極致的思維和數(shù)學(xué)能力,想創(chuàng)造好用的輪子是很難的。
4 開源語言,發(fā)展動力巨大
Python是基于C語言編寫的,并且使用GPL開源協(xié)議,你可以免費(fèi)獲取它的源代碼,進(jìn)行學(xué)習(xí)、研究甚至改進(jìn)。眾人拾柴火焰高,有更多的人參與Python的開發(fā),促使它更好的發(fā)展,被更多的應(yīng)用,形成良性循環(huán)。Python為什么會越來越火就是因?yàn)樗拈_放性,自由性,聚起了人氣,形成了社區(qū),有很多人在其中做貢獻(xiàn),用的人越來越多,自然就提高了市場占有率,企業(yè)、公司、廠家就不得不使用Python,提供的Python程序員崗位就越來越多,這就是開源的力量。
這里附帶跟大家說一個代碼封閉的問題。Python寫的源代碼通常是不加密的,如果要發(fā)布你的Python程序,實(shí)際上就是發(fā)布源代碼,這一點(diǎn)跟C語言不同,C語言不用發(fā)布源代碼,只需要把編譯后的機(jī)器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。要從機(jī)器碼反推出C代碼基本是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發(fā)布出去。如果你不想讓別人看到或抄襲你寫的python代碼怎么辦?使用類似py2exe的包裝工具,將python源碼轉(zhuǎn)換成一個類似于exe可執(zhí)行文件的形式,但這個也不是絕對保險,只是增加了反編譯的門檻和難度,對于有經(jīng)驗(yàn)的人而言,一樣可以獲得你的源代碼。
你可能要問,我要通過寫代碼編軟件賣出去掙錢怎么辦?少年!目前的互聯(lián)網(wǎng)時代,靠賣軟件授權(quán)的商業(yè)模式越來越少了,靠網(wǎng)站服務(wù)和移動應(yīng)用賣服務(wù)的模式越來越多了,這種模式不需要把源碼給別人。再說了,現(xiàn)在如火如荼的開源運(yùn)動和互聯(lián)網(wǎng)自由開放的精神是一致的,互聯(lián)網(wǎng)上有無數(shù)非常優(yōu)秀的像Linux生態(tài)圈一樣的開源項(xiàng)目,我們千萬不要高估自己寫的代碼真的有非常大的“商業(yè)價值”。在Python的世界,開源是王道,不要糾結(jié)你的代碼被抄襲模仿,而是盡量提高自己的水平和能力,這才是立身之本。
Python的應(yīng)用方向
1 常規(guī)軟件開發(fā)
科學(xué)計算
自動化運(yùn)維
云計算
WEB開發(fā)
網(wǎng)絡(luò)爬蟲
數(shù)據(jù)分析
人工智能
Python之禪
最后,讓我們以Python的官方格言,也就是俗稱的Python之禪來結(jié)束對Python的介紹。在Python的IDLE或者交互式解釋器中,輸入import this,你就會看到下面的一段話:
添加Python學(xué)習(xí)群:1015615067,與更專業(yè)的大咖一起交流吧!!
The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better thancomplex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren’t special enough tobreakthe 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–andpreferably only one --obvious way todoit.Although that way maynotbe 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’sdomore of those!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
