Python介紹

1、Python介紹python

python的創始⼈爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多· 範羅蘇姆爲了在阿姆斯特丹打發時間,決⼼開發⼀個新的腳本解釋程序,做爲ABC語⾔的⼀ 種繼承。web

  1.Python是一門什麼樣的語言算法

  編程語⾔主要從如下⼏個⻆度爲進⾏分類,編譯型和解釋型、靜態語⾔和動態語⾔、強類 型定義語⾔和弱類型定義語⾔,咱們先看編譯型語⾔和解釋型語⾔. shell

  一、解釋型語言:在執⾏程序時,將源程序⼀條⼀條的解釋成機器語⾔給計算機來執⾏,因此運⾏速度 是不如編譯後的程序運⾏的快的。編程

  二、編譯型語言:是把源程序的每⼀條語句都編譯成機器語⾔,並保存成⼆進制⽂件,這樣運⾏時計算機 能夠直接以機器語⾔來運⾏此程序,速度很快。多線程

  編譯型 vs 解釋型框架

  編譯型:函數

    優勢:編譯器⼀般會有預編譯的過程對代碼進⾏優化。由於編譯只作⼀次,運⾏時不須要編 譯,因此編譯型語⾔的程序執⾏效率⾼。能夠脫離語⾔環境獨立運⾏。性能

    缺點:編譯以後若是須要修改就須要整個模塊從新編譯。編譯的時候根據對應的運⾏環境⽣ 成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運⾏的操做系統環境編譯不一樣的 可執⾏⽂件。測試

  解釋型

    優勢:有良好的平臺兼容性,在任何環境中均可以運⾏,前提是安裝瞭解釋器(虛擬機)。 靈活,修改代碼的時候直接修改就能夠,能夠快速部署,不⽤停機維護。

    缺點:每次運⾏的時候都要解釋⼀遍,性能上不如編譯型語⾔。

 

  爲何要對高級語言源程序進行解釋或編譯?

  這是由於計算機不能直接認識並執⾏咱們寫的語句,它只能認識機器語⾔(是⼆進制的形式)

 

  Python屬於什麼語言?

  Python屬於解釋性語言。

 

  二、Python的優缺點

  先看優勢

    1. Python的定位是「優雅」、「明確」、「簡單」,因此Python程序看上去老是簡單易 懂,初學者學Python,不但⼊⻔容易,⽽且未來深⼊下去,能夠編寫那些⾮常⾮常 複雜的程序。

    2. 開發效率⾮常⾼,Python有⾮常強⼤的第三⽅庫,基本上你想經過計算機實現任何 功能,Python官⽅庫⾥都有相應的模塊進⾏⽀持,直接下載調⽤後,在基礎庫的基 礎上再進⾏開發,⼤⼤下降開發週期,避免重複造輪⼦。

    3. ⾼級語⾔————當你⽤Python語⾔編寫程序的時候,你⽆需考慮諸如如何管理你 的程序使⽤的內存⼀類的底層細節

    4. 可移植性————因爲它的開源本質,Python已經被移植在許多平臺上(通過改動 使它可以⼯ 做在不一樣平臺上)。若是你⼩⼼地避免使⽤依賴於系統的特性,那麼你 的全部Python程序⽆需修改就⼏乎能夠在市場上全部的系統平臺上運⾏

    5. 可擴展性————若是你須要你的⼀段關鍵代碼運⾏得更快或者但願某些算法不公 開,你能夠把你的部分程序⽤C或C++編寫,而後在你的Python程序中使⽤它們。

    6. 可嵌⼊性————你能夠把Python嵌⼊你的C/C++程序,從⽽向你的程序⽤戶提供 腳本功能。

   再看缺點

    1. 速度慢,Python 的運⾏速度相⽐C語⾔確實慢不少,跟JAVA相⽐也要慢⼀些,但其實這⾥所指的運⾏速度 慢在⼤多數狀況下⽤戶是⽆法直接感知到的,必須藉助測試⼯具才能體現出來,⽐如 你⽤C運⼀個程序花了0.01s,⽤Python是0.1s,這樣C語⾔直接⽐Python快了10倍, 算是⾮常誇張了,可是你是⽆法直接經過⾁眼感知的,由於⼀個正常⼈所能感知的時 間最⼩單位是0.15-0.4s左右。其實在⼤多數狀況下Python已經徹底能夠滿 ⾜你對程序速度的要求,除⾮你要寫對速度要求極⾼的搜索引擎等,這種狀況下,當 然仍是建議你⽤C去實現的。

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

    3. 線程不能利⽤多CPU問題,這是Python被⼈詬病最多的⼀個缺點,GIL即全局解釋 器鎖(Global Interpreter Lock),是計算機程序設計語⾔解釋器⽤於同步線程的 ⼯具,使得任什麼時候刻僅有⼀個線程在執⾏,Python的線程是操做系統的原⽣線程。 在Linux上爲pthread,在Windows上爲Win thread,徹底由操做系統調度線程的 執⾏。⼀個python解釋器進程內有⼀條主線程,以及多條⽤戶程序的執⾏線程。即 使在多核CPU平臺上,因爲GIL的存在,因此禁⽌多線程的並⾏執⾏。

 

  三、Python解釋器

  CPython

    當咱們從Python官⽅⽹站下載並安裝好Python 2.7後,咱們就直接得到了⼀個官⽅版 本的解釋器:CPython。這個解釋器是⽤C語⾔開發的,因此叫CPython。在命令⾏下運 ⾏python就是啓動CPython解釋器。 CPython是使⽤最⼴的Python解釋器。教程的全部代碼也都在CPython下執⾏。

    IPython

     IPython是基於CPython之上的⼀個交互式解釋器,也就是說,IPython只是在交互⽅ 式上有所加強,可是執⾏Python代碼的功能和CPython是徹底⼀樣的。好⽐不少國產瀏覽 器雖然外觀不一樣,但內核其實都是調⽤了IE。 CPython⽤>>>做爲提示符,⽽IPython⽤In [序號]:做爲提示符。

    PyPy

     PyPy是另⼀個Python解釋器,它的⽬標是執⾏速度。PyPy採⽤JIT技術,對Python代 碼進⾏動態編譯(注意不是解釋),因此能夠顯著提⾼Python代碼的執⾏速度。 絕⼤部分Python代碼均可以在PyPy下運⾏,可是PyPy和CPython有⼀些是不一樣的,這就 致使相同的Python代碼在兩種解釋器下執⾏可能會有不一樣的結果。若是你的代碼要放到 PyPy下執⾏,就須要瞭解PyPy和CPython的不一樣點。

     Jython

    Jython是運⾏在Java平臺上的Python解釋器,能夠直接把Python代碼編譯成Java字節 碼執⾏。

     IronPython

       IronPython和Jython相似,只不過IronPython是運⾏在微軟.Net平臺上的Python解 釋器,能夠直接把Python代碼編譯成.Net的字節碼。

 

2、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
相關文章
相關標籤/搜索