Python 入門之Python簡介
一、Python簡介:
(1) Python的出生:
python的創始人爲吉多·範羅蘇姆(Guido van Rossum)(中文名字:龜叔)。1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。java
2019年6月的TIOBE排行榜,Python佔據第三的位置, Python崇尚優美、清晰、簡單,是一個優秀並普遍使用的語言。python
(2)Python的主要應用領域:
<1>、 雲計算:
雲計算最火的語言, 典型應用OpenStackc++
<2>、 Web開發:
衆多優秀的WEB框架,衆多大型網站均爲Python開發,Youtube, Dropbox, 豆瓣。。。典型WEB框架有Djangoweb
<3>、 科學運算、人工智能:
典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandasshell
<4>、 系統運維:
運維人員必備語言編程
<5>、 爬蟲:
經過代碼來模擬人進行頁面訪問,對信息進行批量的獲取安全
<6>、 金融:
量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,並且重要性逐年提升。緣由:做爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很厲害,生產效率遠遠高於c,c++,java,尤爲擅長策略回測。框架
<7>、 圖片GUI:
PyQT, WxPython,TkInter運維
(3) Python在哪些公司被使用:
- 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、
- Google廣告等項目都在大量使用Python開發
- CIA: 美國中情局網站就是用Python開發的
- NASA: 美國航天局(NASA)大量使用Python進行數據分析和運算
- YouTube:世界上最大的視頻網站YouTube就是用Python開發的
- Dropbox:美國最大的在線雲存儲網站,所有用Python實現,天天網站處理10億個文件的上傳和下載
- Instagram:美國最大的圖片分享社交網站,天天超過3千萬張照片被分享,所有用python開發
- Facebook:大量的基礎庫均經過Python實現的
- Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
- 豆瓣: 公司幾乎全部的業務均是經過Python開發的
- 知乎: 國內最大的問答社區,經過Python開發(國外Quora)
- 春雨醫生:國內知名的在線醫療網站是用Python開發的
- 除上面以外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各類各樣的任務。
(4)Python的歷史
- 1989年,爲了打發聖誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
- 1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。
- Granddaddy of Python web frameworks, Zope 1 was released in 1999
- Python 1.0 - January 1994 增長了 lambda, map, filter and reduce.
- Python 2.0 - October 16, 2000,加入了內存回收機制,構成了如今Python語言框架的基礎
- Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 誕生
- Python 2.5 - September 19, 2006
- Python 2.6 - October 1, 2008
- Python 2.7 - July 3, 2010
- In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
- Python 3.0 - December 3, 2008
- Python 3.1 - June 27, 2009
- Python 3.2 - February 20, 2011
- Python 3.3 - September 29, 2012
- Python 3.4 - March 16, 2014
- Python 3.5 - September 13, 2015
- Python 3.6 - December 16,2016
(5)Python種類:
Cpython
Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)編程語言
轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。
Jyhton
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。
IronPython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)
PyPy(特殊)
Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
Python是一門動態解釋型的強類型定義語言
Python2:源碼不統一,源碼重複
Python3:源碼統一,源碼不重複
二、編輯語言:
編程語言主要從如下幾個角度爲進行分類:
編譯型和解釋型
靜態語言和動態語
強類型定義語言
弱類型定義語言
(1)編譯型:一次性翻譯(c)
優勢:運行速度快
缺點:翻譯時間長
(2)解釋型:一行一行翻譯(python)
優勢:開發效率高(翻譯時間短)
缺點:運行速度慢
(編譯型一次將全部的先編譯完,弄成010101101機器語言,在進行運行;解釋型是一次編譯一句,並邊編譯邊運行。
增強記憶:編譯型典型表明c、c++ 就好比c語言程序編程中須要一個必不可少的main函數,運行時惟一入口是從main函數開始逐步調用其餘函數,知道編譯完全部代碼轉換爲0110101機器語言,才運行。
解釋型典型表明JavaScript、python 就好比python語言程序編程中是一行一行解釋成字節碼,並在虛擬機中翻譯成機器語言10110101010,並運行。)
(3) 動態語言和靜態語言
一般咱們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。
(1)動態類型語言:動態類型語言是指在運行期間纔去作數據類型檢查的語言,也就是說,
在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,
在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其餘的各類腳本語言如
VBScript也多少屬於動態類型語言。
(2)靜態類型語言:靜態類型語言與動態類型語言恰好相反,它的數據類型是在編譯其間檢查的,
也就是說在寫程序時要聲明全部變量的數據類型,C/C++是靜態類型語言的典型表明,
其餘的靜態類型語言還有C#、JAVA等。
(4)強類型定義語言和弱類型定義語言
(1)強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,
若是不通過強制轉換,那麼它就永遠是這個數據類型了。
強類型定義語言是類型安全的語言。
(2)弱類型定義語言:數據類型能夠被忽略的語言。它與強類型定義語言相反,
一個變量能夠賦不一樣數據類型的值。
強類型定義語言在速度上可能略遜色於弱類型定義語言,可是強類型定義語言帶來的嚴謹性可以有效的避
免許多錯誤。另外,「這門語言是否是動態語言」與「這門語言是否類型安全」之間是徹底沒有聯繫的!
例如:Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語
言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。