5分鐘瞭解Python語言的簡單介紹(轉載)

《 轉載於Python數據之道 - 本公衆號秉承「讓數據更有價值」的理念,主要分享數據相關的內容,包括數據分析,挖掘,可視化,機器學習,深度學習等。》                      =python

"Life is short, you need Python"web

讓咱們來了解一下Python吧算法

1 起源

Python 的創立者,Guido van Rossum,荷蘭人。1982 年,Guido 從阿姆斯特丹大學得到了數學和計算機碩士學位。然而,儘管他算得上是一位數學家,但他更加享受計算機帶來的樂趣。用他的話說,儘管擁有數學和計算機雙料資質,他總趨向於作計算機相關的工做,並熱衷於作任何和編程相關的活兒。shell

Python的創始人吉多·範羅蘇姆(Guido van Rossum),在1989年12月的聖誕節期間,爲了打發時間,決定開發一種新的腳本解釋程序,做爲ABC語言的繼承。1991年2月,第一個Python編譯器誕生。如今,python以其優美,清晰,簡單的特性在全世界普遍流行,成爲最主流的編程語言之一。數據庫

Guido van Rossum 有一句著名的話就是 「Life is short, you need Python」,譯爲:「人生苦短,我用Python」。編程

截止至2017年11月,python在TIOBE流行編程語言排行榜,已經上升到第四名。而且從趨勢圖中能夠看出其還在呈增加趨勢。flask

2 爲何名字叫「Python」

咱們知道英文單詞 「Python」 的中文翻譯是「蟒蛇」或者「巨蛇」的意思。但做爲一名編程語言的名稱,Python的初始意思並非這樣的。Python這個名字,來自Guido所摯愛的電視劇 "Monty Python’s Flying Circus" 。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言windows

3 Python的發展歷史

  • Python 3.6 - 2016/12/23
  • Python 3.5 - 2015/09/13
  • Python 3.4 - 2014/03/16
  • Python 3.3 - 2012/09/29
  • Python 3.2 - 2011/02/20
  • Python 3.1 - 2009/06/27
  • Python 3.0 - 2008/12/03
  • Python 2.7 - 2010/07/03
  • Python 2.6 - 2008/10/1
  • Python 2.5 - 2006/09/19
  • Python 2.4 – 2004/11/30, 同年目前最流行的WEB框架Django 誕生
  • Python 2.0 - 2000/10/16,加入了內存回收機制,構成了如今Python語言框架的基礎
  • 1999年 Python的web框架之祖——Zope 1發佈
  • Python 1.0 - January 1994 增長了 lambda, map, filter and reduce.
  • 1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。
  • 1989年的聖誕節,Guido開始編寫Python語言的編譯器。

2014年11月,Python2.7 將在 2020 年中止支持的消息被髮布,而且不會再發布 2.8版本,建議用戶儘量的遷移到3.4+, Python 最初發布時,在設計上有一些缺陷,好比 Unicode 標準晚於 Python 出現,因此一直以來對 Unicode 的支持並不徹底,而 ASCII 編碼支持的字符有限。例如: 對中文支持很差 Python3 相對 Python 早期的版本是一個較大的升級,Py3 在設計的時候沒有考慮向下兼容,因此不少早期版本的 Python 的程序沒法再 Py3 上運行。網絡

4 Python語言的特色

1)簡單易學框架

Python語言簡潔、優雅,相比其餘程序語言(好比:Java,C++等),Python語言更容易閱讀和編寫。Python語言使用起來很有趣,且該語言更多的是專一於解決方案而不是語法自己

初學者學Python,不但入門容易,並且未來深刻下去,能夠編寫那些很是很是複雜的程序。

2)開源且免費

Python是一門開源的編程語言,能夠免費使用,甚至能夠用於商業用途。固然,你也能夠提交相關貢獻代碼。 Python有一個龐大的社區來維護並保持快速發展。

3)可移植性

Python是跨平臺的編程語言,它能夠運行在 windows、Mac 和 各類 Linux/Unix 系統上。也就是說,假設在 windows 系統下編寫的 Python 程序,在 Mac 或 Linux 系統下也是能夠運行的。

4)開發效率很是高

Python有很是強大的第三方庫,基本上你想經過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大下降開發週期,避免重複造輪子。

5)高級語言

當你用Python語言編寫程序的時候,你無需考慮諸如:如何管理你的程序使用的內存以及垃圾回收一類的底層細節。

6)可擴展

若是你須要你的一段關鍵代碼運行得更快或者但願某些算法不公開,你能夠把你的部分程序用C或C++編寫,而後在你的Python程序中使用它們。

7)可嵌入

你能夠把Python代碼嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

8)面向對象

Python中的一切都是對象。面向對象編程(OOP)能夠幫助您直觀地解決複雜的問題。有了OOP,你能夠經過建立對象把這些複雜的問題劃分紅更小的集合。

5 Python語言的應用

5.1 Python語言的應用領域

Python被普遍的應用於諸多領域,好比:

  • 數據科學: 數據科學涉及領域很廣,涉及到當前火熱的人工智能領域。Python的數據科學包括數據分析、數據可視化、數據挖掘、天然語言處理、機器學習、深度學習等。典型的Python庫有:Numpy,Scipy,Pandas,Matplotlib,Seaborn,Scikit-learn,tensorflow等。
  • 雲計算: 典型應用——Python開發的OpenStack
  • WEB開發: 衆多優秀的WEB框架,好比:Django、flask、 tornado
  • 網絡爬蟲: 使用Python能夠便捷的編寫網絡爬蟲,從網頁上爬取相關信息,經常使用的Python庫包括:Requests,BeautifulSoup,Scrapy等。
  • 系統運維: 運維人員必備,slatstack(系統自動化配置和管理工具),Ansible(自動化運維工具)
  • 圖形界面開發:  wxPython、PyQT、TKinter

5.2 使用Python的部分知名公司

愈來愈多的公司選在python做爲其主要開發語言,例如:

  • Google - Google Groups、Gmail、Google Maps、AlphaGo等,Google App Engine支持python做爲開發語言
  • NASA - 美國宇航局,從1994年起把python做爲主要開發語言
  • Dropbox - 美國最大的在線雲存儲網站,所有用Python實現,天天網站處理10億個文件的上傳和下載
  • 豆瓣網 - 圖書、唱片、電影等文化產品的資料數據庫網站
  • BitTorrent - bt下載軟件客戶端
  • gedit - Linux平臺的文本編輯器
  • GIMP - Linux平臺的圖像處理軟件(Linux下的PS)
  • 知乎(國外的Quora) - 社交問答網站,國內最大的問答社區,經過Python開發
  • Autodesk Maya - 3D建模軟件,支持python做爲腳本語言
  • YouTube:世界上最大的視頻網站YouTube就是用Python開發的
  • Facebook:大量的基礎庫均經過Python實現的
  • Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的

除上面以外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各類各樣的任務。

更多案例: https://www.python.org/about/success/

6 Python語言的一些缺點

任何編程語言都有缺點,Python也不例外。好比:

  • 速度慢,Python 的運行速度相比C語言確實慢不少,跟JAVA相比也要慢一些,所以這也是不少所謂的大牛不屑於使用Python的主要緣由,但其實這裏所指的運行速度慢在大多數狀況下用戶是沒法直接感知到的,必須藉助測試工具才能體現出來,好比你用C運行一個程序花了0.1s,用Python是0.01s,這樣C語言直接比Python快了10s,算是很是誇張了,可是你是沒法直接經過肉眼感知的,由於一個正常人所能感知的時間最小單位是0.15-0.4s左右。其實在大多數狀況下Python已經徹底能夠知足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種狀況下,固然仍是建議你用C去實現的。

***隨着硬件設備及計算力的加強,運行速度慢的這個缺點相對來講有所改善。在編寫代碼所花時間與程序運行所用時間進行平衡後,不少企業都開始選擇使用Python。***

  • 代碼不能加密,由於PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認爲這算是一個缺點,若是你的項目要求源代碼必須是加密的,那你一開始就不該該用Python來去實現。

7 Python2仍是Python3?

py2.7是2.x系列的最後一個版本,已經中止開發,再也不增長新功能。2020年終止支持。全部的最新的標準庫的更新改進,只會在3.x的版本里出現。Guido決定清理Python2.x ,而且再也不兼容舊版本。

最大的一個改變就是使用Unicode做爲默認編碼。Pyhton2.x中直接寫中文會報錯,Python3中能夠直接寫中文了。

py3比py2更規範統1、去掉了不必的關鍵字。Python3.x還在持續改進。因此仍是 推薦使用Python3.x

相關文章
相關標籤/搜索