Python介紹,什么是Python?

Python介紹,什么是Python?的圖1

python教程

Python翻譯成漢語是莽蛇的意思,并且Python的logo也是兩條纏繞在一起的莽蛇的樣子,然而Python語言和莽蛇實際上并沒有一毛錢關系。 Python語言是由荷蘭程序員Guido van

Rossum,江湖人稱“龜叔”,獨立開發完成初版的?!褒斒濉痹┞氂?google,現任職于dropbox 。1989年圣誕節期間,在阿姆斯特丹,為了打發圣誕節的無趣,決心開發一個新的 腳本解釋語言,作為ABC語言的一種繼承,然后他就這么做了,并實現了(大神的能力)。之所以選中Python作 為該編程語言的名字,是因為他是一個叫Monty Python喜劇團體的愛好者,其本意并不是想選條莽蛇。

Python介紹,什么是Python?的圖2

點擊獲取全套Python零基礎資料

Python語言的特點

1. 簡單易學、明確優雅、開發速度快
  • 簡單易學:與C和Java比,Python的學習成本和難度曲線不是低一點,更適合新手入門,自底向上的技術攀 爬路線。先訂個小目標爬個小山,然后再往更高的山峰前進。而不像C和JAVA光語言學習本身,對于很多人 來說就像珠穆朗瑪峰一樣高不可攀。

  • 明確優雅:Python的語法非常簡潔,代碼量少,非常容易編寫,代碼的測試、重構、維護等都非常容易。一 個小小的腳本,用C可能需要1000行,用JAVA可能幾百行,但是用Python往往只需要幾十行!

  • 開發速度快:當前互聯網企業的生命線是什么?產品開發速度!如果你的開發速度不夠快,在你的產品推出 之前別人家的產品已經上線了,你也就沒有生存空間了,這里的真實例子數不勝數。那么,Python的開發速 度說第二沒人敢稱第一!(不歡迎辯論_)

2.跨平臺、可移植、可擴展、交互式、解釋型、面向對象的動態語言
  • 跨平臺:Python支持Windows、Linux和MAC os等主流操作系統。

  • 可移植:代碼通常不需要多少改動就能移植到別的平臺上使用。

  • 可擴展:Python語言本身由C語言編寫而成的,你完全可以在Python中嵌入C,從而提高代碼的運行速度和效率。你也可以使用C語言重寫Python的任何模塊,從根本上改寫Python,PyPy就是這么干的。

  • 交互式:Python提供很好的人機交互界面,比如IDLE和IPython??梢詮慕K端輸入執行代碼并獲得結果,互 動的測試和調試代碼片斷。

  • 解釋型:Python語言在執行過程中由解釋器逐行分析,逐行運行并輸出結果。

  • 面向對象:Python語言具備所有的面向對象特性和功能,支持基于類的程序開發。

  • 動態語言:在運行時可以改變其結構。例如新的函數、對象、甚至代碼可以被引進,已有的函數可以被刪除 或是其他結構上的變化。動態語言非常具有活力。

Python介紹,什么是Python?的圖3

3. “內置電池”,大量的標準庫和第三方庫

Python為我們提供了非常完善的基礎庫,覆蓋了系統、網絡、文件、GUI、數據庫、文本處理等方方面面,這些 是隨同解釋器被默認安裝的,各平臺通用,你無需安裝第三方支持就可以完成大多數工作,這一特點被形象地稱 作“內置電池(batteries included)”。

在程序員界,有一句話叫做“不要重復造輪子”。什么意思呢?就是說不要做重復的開發工作,如果對某個問題 已經有開源的解決方案或者說第三方庫,就不要自己去開發,直接用別人的就好。不要過分迷信自己的代碼能 力,要知道,能作為標準庫被Python內置,必然在可靠性和算法效率上達到了目前最高水平,能被廣泛使用的第 三方庫,必然也是經受了大量的應用考驗。除非公司要求,不要自己去開發,請使用現成的庫。那些造輪子的事 情,就交給世界最頂尖的那一波程序員去干吧,沒有極致的思維和數學能力,想創造好用的輪子是很難的。

4. 社區活躍,貢獻者多,互幫互助

技術社區的存在就相當于程序員手中的指南針,沒有指南針,很多時候,碰到了問題,就像無頭的蒼蠅只能到處 亂飛,最終在茫茫的海洋中轉暈致死。技術社區可以給我們對語言的學習和使用提供巨大的幫助,無論是前期的 學習,還是日后的工作,只要有問題,技術社區的大牛都可以幫我們解決,有這些助力,可以幫我們更好地了 解、學習和使用一門語言。技術社區同時還推動Python語言的發展方向,功能需求,促使公司企業更多的使用 Python語言,招聘Python程序員。

然而、然而,上面說的是國外。在國內,好像沒有比較成熟,影響范圍廣的Python技術社區,還是說我見識淺薄 不知道而已?據本人分析,有歷史原因和Python流行過程中形成的習慣等因素,國外Python高手都喜歡用郵件 列表、wiki等方式進行交流,而國內喜歡的論壇、bbs等沒有形成規模,所以造成現在的狀況。 因此,同學們,學好英語,去和世界范圍的程序員交流吧!

Python介紹,什么是Python?的圖4

點擊獲取全套Python零基礎資料
5. 開源語言,發展動力巨大

Python是基于C語言編寫的,并且使用GPL開源協議,你可以免費獲取它的源代碼,進行學習、研究甚至改進。 眾人拾柴火焰高,有更多的人參與Python的開發,促使它更好的發展,被更多的應用,形成良性循環。

Python 為什么會越來越火就是因為它的開放性,自由性,聚起了人氣,形成了社區,有很多人在其中做貢獻,用的人越 來越多,自然就提高了市場占有率,企業、公司、廠家就不得不使用Python,提供的Python程序員崗位就越來 越多,這就是開源的力量。

6.這里附帶跟大家說一個代碼封閉的問題。

Python寫的源代碼通常是不加密的,如果要發布你的Python程序,實 際上就是發布源代碼,這一點跟C語言不同,C語言不用發布源代碼,只需要把編譯后的機器碼(也就是你在 Windows上常見的xxx.exe文件)發布出去。要從機器碼反推出C代碼基本是不可能的,所以,凡是編譯型的語 言,都沒有這個問題,而解釋型的語言,則必須把源碼發布出去。如果你不想讓別人看到或抄襲你寫的python代 碼怎么辦?使用類似py2exe的包裝工具,將python源碼轉換成一個類似于exe可執行文件的形式,但這個也不是 絕對保險,只是增加了反編譯的門檻和難度,對于有經驗的人而言,一樣可以獲得你的源代碼。

你可能要問,我要通過寫代碼編軟件賣出去掙錢怎么辦?少年!目前的互聯網時代,靠賣軟件授權的商業模式越 來越少了,靠網站服務和移動應用賣服務的模式越來越多了,這種模式不需要把源碼給別人。再說了,現在如火 如荼的開源運動和互聯網自由開放的精神是一致的,互聯網上有無數非常優秀的像Linux生態圈一樣的開源項目, 我們千萬不要高估自己寫的代碼真的有非常大的“商業價值”。在Python的世界,開源是王道,不要糾結你的代 碼被抄襲模仿,而是盡量提高自己的水平和能力,這才是立身之本。

Python介紹,什么是Python?的圖5

Python的應用方向

1 常規軟件開發

  1. 科學計算

  2. 自動化運維

  3. 云計算

  4. WEB開發

  5. 網絡爬蟲

  6. 數據分析

  7. 人工智能

Python介紹,什么是Python?的圖6

Python之禪

最后,讓我們以Python的官方格言,也就是俗稱的Python之禪來結束對Python的介紹。在Python的IDLE或者 交互式解釋器中,輸入 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 以編寫優美的代碼為目標) 
明了勝于晦澀(優美的代碼應當是明了的,命名規范,風格相似) 
簡潔勝于復雜(優美的代碼應當是簡潔的,不要有復雜的內部實現) 
復雜勝于凌亂(如果復雜不可避免,那代碼間也不能有難懂的關系,要保持接口簡潔) 
扁平勝于嵌套(優美的代碼應當是扁平的,不能有太多的嵌套) 
間隔勝于緊湊(優美的代碼有適當的間隔,不要奢望一行代碼解決問題) 
可讀性很重要(優美的代碼是可讀的) 
即便假借特例的實用性之名,也不可違背這些規則(這些規則至高無上) 
不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫 except:pass 風格的代碼) 
當存在多種可能,不要嘗試去猜測而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮 舉法) 
雖然這并不容易,因為你不是 Python 之父(這里的 Dutch 是指 Guido ) 
做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量) 
如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準) 
命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)
點擊獲取全套Python零基礎資料

最后,看完本文對Python是不是有了一個清晰的認識了。

人生苦短,Python當歌!??!

原創不易,嚴禁抄襲。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3