日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python历史背景_python学习之旅1-1(python背景、安装介绍)

發(fā)布時(shí)間:2024/7/23 python 86 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python历史背景_python学习之旅1-1(python背景、安装介绍) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、python介紹

1.python歷史背景

python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,吉多·范羅蘇姆(中文名字:龜叔)為了在阿姆斯特丹打發(fā)時(shí)間,決心開(kāi)發(fā)一個(gè)新的腳本解釋程序,作為ABC語(yǔ)言的一種繼承。

1989年,為了打發(fā)圣誕節(jié)假期,Guido開(kāi)始寫(xiě)Python語(yǔ)言的編譯器。Python這個(gè)名字,來(lái)自Guido所摯愛(ài)的電視劇Monty Python’s Flying Circus。他希望這個(gè)新的叫做Python的語(yǔ)言,能符合他的理想:創(chuàng)造一種C和shell之間,功能全面,易學(xué)易用,可拓展的語(yǔ)言。

1991年,第一個(gè)Python編譯器誕生。它是用C語(yǔ)言實(shí)現(xiàn)的,并能夠調(diào)用C語(yǔ)言的庫(kù)文件。從一出生,Python已經(jīng)具有了:類,函數(shù),異常處理,包含表和詞典在內(nèi)的核心數(shù)據(jù)類型,以及模塊為基礎(chǔ)的拓展系統(tǒng)。

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,加入了內(nèi)存回收機(jī)制,構(gòu)成了現(xiàn)在Python語(yǔ)言框架的基礎(chǔ)

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

2.python語(yǔ)言

機(jī)器語(yǔ)言:

特點(diǎn):計(jì)算機(jī)能夠看懂的0和1去寫(xiě)程序

優(yōu)點(diǎn):程序運(yùn)行速度快

缺點(diǎn):開(kāi)發(fā)效率低

匯編語(yǔ)言:

特點(diǎn):用一些英文標(biāo)簽代替一串而精致數(shù)字去寫(xiě)程序

優(yōu)點(diǎn):比機(jī)器語(yǔ)言好一點(diǎn),操作系統(tǒng)內(nèi)大量使用匯編語(yǔ)言

比如關(guān)于進(jìn)程的調(diào)度代碼,就是用匯編語(yǔ)言寫(xiě)的

缺點(diǎn):開(kāi)發(fā)效率低

高級(jí)語(yǔ)言:

特點(diǎn):用人能讀懂的(英文)字符去寫(xiě)程序

優(yōu)點(diǎn):開(kāi)發(fā)效率高

缺點(diǎn):必須經(jīng)過(guò)翻譯才能讓計(jì)算機(jī)識(shí)別,導(dǎo)致運(yùn)行速度慢

按照編譯的方式分為:

編譯型:一次翻譯,拿著編譯后的結(jié)果直接給機(jī)器運(yùn)行

C語(yǔ)言: 編譯器:gcc glibc

開(kāi)發(fā)效率低,運(yùn)行效率高

解釋型

Python語(yǔ)言:

CPython

當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 3.6后,我們就直接獲得了一個(gè)官方版本的解釋器:CPython。這個(gè)解釋器是用C語(yǔ)言開(kāi)發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執(zhí)行。

IPython

IPython是基于CPython之上的一個(gè)交互式解釋器,也就是說(shuō),IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。好比很多國(guó)產(chǎn)瀏覽器雖然外觀不同,但內(nèi)核其實(shí)都是調(diào)用了IE。

CPython用>>>作為提示符,而IPython用In [序號(hào)]:作為提示符。

PyPy

PyPy是另一個(gè)Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對(duì)Python代碼進(jìn)行動(dòng)態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。

絕大部分Python代碼都可以在PyPy下運(yùn)行,但是PyPy和CPython有一些是不同的,這就導(dǎo)致相同的Python代碼在兩種解釋器下執(zhí)行可能會(huì)有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點(diǎn)。

Jython

Jython是運(yùn)行在Java平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。

IronPython

IronPython和Jython類似,只不過(guò)IronPython是運(yùn)行在微軟.Net平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。

小結(jié):

Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺(tái)交互,最好的辦法不是用Jython或IronPython,而是通過(guò)網(wǎng)絡(luò)調(diào)用來(lái)交互,確保各程序之間的獨(dú)立性。

編譯型

優(yōu)點(diǎn):編譯器一般會(huì)有預(yù)編譯的過(guò)程對(duì)代碼進(jìn)行優(yōu)化。因?yàn)榫幾g只做一次,運(yùn)行時(shí)不需要編譯,所以編譯型語(yǔ)言的程序執(zhí)行效率高。可以脫離語(yǔ)言環(huán)境獨(dú)立運(yùn)行。

缺點(diǎn):編譯之后如果需要修改就需要整個(gè)模塊重新編譯。編譯的時(shí)候根據(jù)對(duì)應(yīng)的運(yùn)行環(huán)境生成機(jī)器碼,不同的操作系統(tǒng)之間移植就會(huì)有問(wèn)題,需要根據(jù)運(yùn)行的操作系統(tǒng)環(huán)境編譯不同的可執(zhí)行文件。

解釋型

優(yōu)點(diǎn):有良好的平臺(tái)兼容性,在任何環(huán)境中都可以運(yùn)行,前提是安裝了解釋器(虛擬機(jī))。靈活,修改代碼的時(shí)候直接修改就可以,可以快速部署,不用停機(jī)維護(hù)。

缺點(diǎn):每次運(yùn)行的時(shí)候都要解釋一遍,性能上不如編譯型語(yǔ)言。

2.2動(dòng)態(tài)語(yǔ)言和靜態(tài)語(yǔ)言

通常我們所說(shuō)的動(dòng)態(tài)語(yǔ)言、靜態(tài)語(yǔ)言是指動(dòng)態(tài)類型語(yǔ)言和靜態(tài)類型語(yǔ)言。

(1)動(dòng)態(tài)類型語(yǔ)言:動(dòng)態(tài)類型語(yǔ)言是指在運(yùn)行期間才去做數(shù)據(jù)類型檢查的語(yǔ)言,也就是說(shuō),在用動(dòng)態(tài)類型的語(yǔ)言編程時(shí),永遠(yuǎn)也不用給任何變量指定數(shù)據(jù)類型,該語(yǔ)言會(huì)在你第一次賦值給變量時(shí),在內(nèi)部將數(shù)據(jù)類型記錄下來(lái)。Python和Ruby就是一種典型的動(dòng)態(tài)類型語(yǔ)言,其他的各種腳本語(yǔ)言如VBScript也多少屬于動(dòng)態(tài)類型語(yǔ)言。

(2)靜態(tài)類型語(yǔ)言:靜態(tài)類型語(yǔ)言與動(dòng)態(tài)類型語(yǔ)言剛好相反,它的數(shù)據(jù)類型是在編譯其間檢查的,也就是說(shuō)在寫(xiě)程序時(shí)要聲明所有變量的數(shù)據(jù)類型,C/C++是靜態(tài)類型語(yǔ)言的典型代表,其他的靜態(tài)類型語(yǔ)言還有C#、JAVA等。

2.3強(qiáng)類型定義語(yǔ)言和弱類型定義語(yǔ)言

(1)強(qiáng)類型定義語(yǔ)言:強(qiáng)制數(shù)據(jù)類型定義的語(yǔ)言。也就是說(shuō),一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類型,如果不經(jīng)過(guò)強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這個(gè)數(shù)據(jù)類型了。舉個(gè)例子:如果你定義了一個(gè)整型變量a,那么程序根本不可能將a當(dāng)作字符串類型處理。強(qiáng)類型定義語(yǔ)言是類型安全的語(yǔ)言。

(2)弱類型定義語(yǔ)言:數(shù)據(jù)類型可以被忽略的語(yǔ)言。它與強(qiáng)類型定義語(yǔ)言相反, 一個(gè)變量可以賦不同數(shù)據(jù)類型的值。

強(qiáng)類型定義語(yǔ)言在速度上可能略遜色于弱類型定義語(yǔ)言,但是強(qiáng)類型定義語(yǔ)言帶來(lái)的嚴(yán)謹(jǐn)性能夠有效的避免許多錯(cuò)誤。另外,“這門(mén)語(yǔ)言是不是動(dòng)態(tài)語(yǔ)言”與“這門(mén)語(yǔ)言是否類型安全”之間是完全沒(méi)有聯(lián)系的!

例如:Python是動(dòng)態(tài)語(yǔ)言,是強(qiáng)類型定義語(yǔ)言(類型安全的語(yǔ)言); VBScript是動(dòng)態(tài)語(yǔ)言,是弱類型定義語(yǔ)言(類型不安全的語(yǔ)言); JAVA是靜態(tài)語(yǔ)言,是強(qiáng)類型定義語(yǔ)言(類型安全的語(yǔ)言)。

通過(guò)上面這些介紹,我們可以得出,python是一門(mén)動(dòng)態(tài)解釋性的強(qiáng)類型定義語(yǔ)言。

總結(jié):

運(yùn)行效率從高到低

開(kāi)發(fā)效率從低到高

二、python環(huán)境

windows下安裝Python(手動(dòng)添加環(huán)境變量)以3.5版本舉例:

windows:

windows下安裝Python(自動(dòng)添加環(huán)境變量)以3,.5版本的舉例:

2,選擇版本。

3,自動(dòng)添加環(huán)境變量。

4,更改完成。

5,點(diǎn)擊安裝即可。

linux:

總結(jié)

以上是生活随笔為你收集整理的python历史背景_python学习之旅1-1(python背景、安装介绍)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。