Python 語言簡介

姓名:張坤 ? ?學號:1700030080

轉載自:https://www.cnblogs.com/chenwolong/p/Python.html,有刪節(jié)

【嵌牛導讀】:Python是一種計算機程序設計語言。你可能已經(jīng)聽說過很多種流行的編程語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網(wǎng)頁編程的JavaScript語言等等。那Python是一種什么語言?本文將對python語言做詳細的介紹并介紹它的編譯器程序的安裝教程。

【嵌牛鼻子】:Python,編程

【嵌牛提問】:Python是一種什么語言?它和C語言等有什么區(qū)別?

【嵌牛正文】:

那Python是一種什么語言?

首先,我們普及一下編程語言的基礎知識。用任何編程語言來開發(fā)程序,都是為了讓計算機干活,比如下載一個MP3,編寫一個文檔等等,而計算機干活的CPU只認識機器指令,所以,盡管不同的編程語言差異極大,最后都得“翻譯”成CPU可以執(zhí)行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。

比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。

所以Python是一種相當高級的語言。

你也許會問,代碼少還不好?代碼少的代價是運行速度慢,C程序運行1秒鐘,Java程序可能需要2秒,而Python程序可能就需要10秒。

那是不是越低級的程序越難學,越高級的程序越簡單?表面上來說,是的,但是,在非常高的抽象計算中,高級的Python程序設計也是非常難學的,所以,高級程序語言不等于簡單。

但是,對于初學者和完成普通任務,Python語言是非常簡單易用的。連Google都在大規(guī)模使用Python,你就不用擔心學了會沒用。

用Python可以做什么?可以做日常任務,比如自動備份你的MP3;可以做網(wǎng)站,很多著名的網(wǎng)站包括YouTube就是Python寫的;可以做網(wǎng)絡游戲的后臺,很多在線游戲的后臺都是Python開發(fā)的??傊褪悄芨珊芏嗪芏嗍吕?。

Python當然也有不能干的事情,比如寫操作系統(tǒng),這個只能用C語言寫;寫手機應用,只能用Swift/Objective-C(針對iPhone)和Java(針對Android);寫3D游戲,最好用C或C++。

Python簡介

Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個編程語言。

現(xiàn)在,全世界差不多有600多種編程語言,但流行的編程語言也就那么20來種。如果你聽說過TIOBE排行榜,你就能知道編程語言的大致流行程度。這是最近10年最常用的10種編程語言的變化圖:

總的來說,這幾種編程語言各有千秋。C語言是可以用來編寫操作系統(tǒng)的貼近硬件的語言,所以,C語言適合開發(fā)那些追求運行速度、充分發(fā)揮硬件性能的程序。而Python是用來編寫應用程序的高級編程語言。

當你用一種語言開始作真正的軟件開發(fā)時,你除了編寫代碼外,還需要很多基本的已經(jīng)寫好的現(xiàn)成的東西,來幫助你加快開發(fā)進度。比如說,要編寫一個電子郵件客戶端,如果先從最底層開始編寫網(wǎng)絡協(xié)議相關的代碼,那估計一年半載也開發(fā)不出來。高級編程語言通常都會提供一個比較完善的基礎代碼庫,讓你能直接調用,比如,針對電子郵件協(xié)議的SMTP庫,針對桌面環(huán)境的GUI庫,在這些已有的代碼庫的基礎上開發(fā),一個電子郵件客戶端幾天就能開發(fā)出來。

Python就為我們提供了非常完善的基礎代碼庫,覆蓋了網(wǎng)絡、文件、GUI、數(shù)據(jù)庫、文本等大量內(nèi)容,被形象地稱作“內(nèi)置電池(batteries included)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。

除了內(nèi)置的庫外,Python還有大量的第三方庫,也就是別人開發(fā)的,供你直接使用的東西。當然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫給別人使用。

許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Instagram,還有國內(nèi)的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復雜的程序。

總的來說,Python的哲學就是簡單優(yōu)雅,盡量寫容易看明白的代碼,盡量寫少的代碼。如果一個資深程序員向你炫耀他寫的晦澀難懂、動不動就幾萬行的代碼,你可以盡情地嘲笑他。

那Python適合開發(fā)哪些類型的應用呢?

首選是網(wǎng)絡應用,包括網(wǎng)站、后臺服務等等;

其次是許多日常需要的小工具,包括系統(tǒng)管理員需要的腳本任務等等;

另外就是把其他語言開發(fā)的程序再包裝起來,方便使用。

最后說說Python的缺點。

任何編程語言都有缺點,Python也不例外。優(yōu)點說過了,那Python有哪些缺點呢?

第一個缺點就是運行速度慢,和C程序相比非常慢,因為Python是解釋型語言,你的代碼在執(zhí)行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程序是運行前直接編譯成CPU能執(zhí)行的機器碼,所以非常快。

但是大量的應用程序不需要這么快的運行速度,因為用戶根本感覺不出來。例如開發(fā)一個下載MP3的網(wǎng)絡應用程序,C程序的運行時間需要0.001秒,而Python程序的運行時間需要0.1秒,慢了100倍,但由于網(wǎng)絡更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區(qū)別嗎?這就好比F1賽車和普通的出租車在北京三環(huán)路上行駛的道理一樣,雖然F1賽車理論時速高達400公里,但由于三環(huán)路堵車的時速只有20公里,因此,作為乘客,你感覺的時速永遠是20公里。

第二個缺點就是代碼不能加密。如果要發(fā)布你的Python程序,實際上就是發(fā)布源代碼,這一點跟C語言不同,C語言不用發(fā)布源代碼,只需要把編譯后的機器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發(fā)布出去。

這個缺點僅限于你要編寫的軟件需要賣給別人掙錢的時候。好消息是目前的互聯(lián)網(wǎng)時代,靠賣軟件授權的商業(yè)模式越來越少了,靠網(wǎng)站和移動應用賣服務的模式越來越多了,后一種模式不需要把源碼給別人。

再說了,現(xiàn)在如火如荼的開源運動和互聯(lián)網(wǎng)自由開放的精神是一致的,互聯(lián)網(wǎng)上有無數(shù)非常優(yōu)秀的像Linux一樣的開源代碼,我們千萬不要高估自己寫的代碼真的有非常大的“商業(yè)價值”。那些大公司的代碼不愿意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產(chǎn)品了。

當然,Python還有其他若干小缺點,請自行忽略,就不一一列舉了。

Python解釋器

當我們編寫Python代碼時,我們得到的是一個包含Python代碼的以.py為擴展名的文本文件。要運行代碼,就需要Python解釋器去執(zhí)行.py文件。

由于整個Python語言從規(guī)范到解釋器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫Python解釋器來執(zhí)行Python代碼(當然難度很大)。事實上,確實存在多種Python解釋器。

CPython

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

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

IPython

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

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

PyPy

PyPy是另一個Python解釋器,它的目標是執(zhí)行速度。PyPy采用JIT技術,對Python代碼進行動態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。

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

Jython

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

IronPython

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

小結

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

本教程的所有代碼只確保在CPython 3.5版本下運行。請務必在本地安裝CPython(也就是從Python官方網(wǎng)站下載的安裝程序)。

因為Python是跨平臺的,它可以運行在Windows、Mac和各種Linux/Unix系統(tǒng)上。在Windows上寫Python程序,放到Linux上也是能夠運行的。

要開始學習Python編程,首先就得把Python安裝到你的電腦里。安裝后,你會得到Python解釋器(就是負責運行Python程序的),一個命令行交互環(huán)境,還有一個簡單的集成開發(fā)環(huán)境。

安裝Python 3.5

目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。由于3.x版越來越普及,我們的教程將以最新的Python 3.5版本為基礎。請確保你的電腦上安裝的Python版本是最新的3.5.x,這樣,你才能無痛學習這個教程。

在Mac上安裝Python

如果你正在使用Mac,系統(tǒng)是OS X 10.8~10.10,那么系統(tǒng)自帶的Python版本是2.7。要安裝最新的Python 3.5,有兩個方法:

方法一:從Python官網(wǎng)下載Python 3.5的安裝程序(網(wǎng)速慢的同學請移步國內(nèi)鏡像),雙擊運行并安裝;

方法二:如果安裝了Homebrew,直接通過命令brew install python3安裝即可。

在Linux上安裝Python

如果你正在使用Linux,那我可以假定你有Linux系統(tǒng)管理經(jīng)驗,自行安裝Python 3應該沒有問題,否則,請換回Windows系統(tǒng)。

對于大量的目前仍在使用Windows的同學,如果短期內(nèi)沒有打算換Mac,就可以繼續(xù)閱讀以下內(nèi)容。

在Windows上安裝Python

首先,根據(jù)你的Windows版本(64位還是32位)從Python的官方網(wǎng)站下載Python 3.5對應的64位安裝程序32位安裝程序(網(wǎng)速慢的同學請移步國內(nèi)鏡像),然后,運行下載的EXE安裝包:

特別要注意勾上Add Python 3.5 to PATH,然后點“Install Now”即可完成安裝。

運行Python

安裝成功后,打開命令提示符窗口,敲入python后,會出現(xiàn)兩種情況:

情況一:

看到上面的畫面,就說明Python安裝成功!

你看到提示符>>>就表示我們已經(jīng)在Python交互式環(huán)境中了,可以輸入任何Python代碼,回車后會立刻得到執(zhí)行結果?,F(xiàn)在,輸入exit()并回車,就可以退出Python交互式環(huán)境(直接關掉命令行窗口也可以)。

情況二:得到一個錯誤:

‘python’ 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。

這是因為Windows會根據(jù)一個Path的環(huán)境變量設定的路徑去查找python.exe,如果沒找到,就會報錯。如果在安裝時漏掉了勾選Add Python 3.5 to PATH,那就要手動把python.exe所在的路徑添加到Path中。

如果你不知道怎么修改環(huán)境變量,建議把Python安裝程序重新運行一遍,務必記得勾上Add Python 3.5 to PATH。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容