中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python之基礎(chǔ)篇(一)-創(chuàng)新互聯(lián)

防偽碼:忘情公子著

在大箐山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需策劃設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,大箐山網(wǎng)站建設(shè)費用合理。

一、python介紹

 python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,由荷蘭人Guido van Rossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。

 python語法簡潔明晰,特色之一是強制用空白符作為語句縮進。

 python具有豐富和強大的庫,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。此段引自百度百科。

 python有很多的模塊能夠?qū)崿F(xiàn)各種功能,在編程時能夠通過調(diào)用相應(yīng)的模塊從而減少代碼量

二、編程語言介紹

 在開始學(xué)習(xí)python前讓我們先來說說編程語言,因為python語言僅僅只是編程語言中的一種而已,了解了編程語言能讓我們學(xué)習(xí)python更加容易。

 那么什么是編程語言?編程語言是用來干什么的?

 在說這個之前讓我們先來想想,人類創(chuàng)造出計算機是為什么?人類創(chuàng)造出計算機是為了更好的解決人類所不能或很難解決的問題。由此,我們可以簡單的將人類需要解決的問題稱之為問題空間(或用戶空間),而將計算機稱之為解空間(解決問題)。我們可以將解空間中的解決問題的能力抽象映射為用戶空間中的解決方案。

 編程語言是將計算機解決問題的能力給抽象出來的結(jié)果,將計算機解決問題的能力用人類所能理解的方式來描述,這就是編程語言。

 有了編程語言以后,人類可以更方便的進行編程,但是新問題又來了,編程語言是偏向于人類的,也就是說編程語言是以人類所能理解的語言來描述的,通過編程語言來編寫的程序,計算機是無法理解、無法直接在計算機內(nèi)核中執(zhí)行的,所以此時需要一個橋梁來對接人類與計算機,把偏向于人類的編程語言編譯或者說翻譯成計算機所能識別的語言,這就是編譯器(或解釋器)的由來。

 說到編譯器(解釋器)就不得不說下編程語言的分類,編程語言以是否編譯為分割可以簡單的分為兩類:靜態(tài)語言和動態(tài)語言。靜態(tài)語言在執(zhí)行前必須先通過編譯器從頭到尾編譯一次,然后將編譯后的結(jié)果拿到cpu中運行;而動態(tài)語言則可以以類似同聲傳譯的方式將代碼直接通過解釋器解釋之后在cpu中運行,也就是給解釋器一條語句它解釋一下立馬在cpu中執(zhí)行,再解釋一條再執(zhí)行,而不必從頭到尾編譯一次后再在cpu中執(zhí)行。所以可以這樣總結(jié)一下,在靜態(tài)語言中,人類與計算機之間的語言橋梁叫做編譯器,而在動態(tài)語言中,則稱之為解釋器。

 編程語言以與用戶的距離來分割還可以分為低級語言和高級語言兩種,所謂低級語言就是更偏向于計算機的語言,如微碼編程語言,而高級語言則是更偏向于用戶的語言,python就是一種高級語言。低級語言與高級語言的區(qū)別是高級語言更接近于用戶,而不是指在性能上的高下,也不是指優(yōu)越性上的高下。

三、python的應(yīng)用領(lǐng)域

 1、當(dāng)做腳本語言來實現(xiàn)系統(tǒng)自動化管理;

 2、當(dāng)做控制語言:調(diào)用其它語言的接口來實現(xiàn)應(yīng)用程序的開發(fā);

 3、有很多外部框架可以快速實現(xiàn)某些特定類型的應(yīng)用程序的開發(fā)

  Web網(wǎng)站框架:django、Tornado(輕量級、異步)、Flask(微型)、Web.py(簡單)等

  數(shù)據(jù)采集:有好用的http庫,比如requests、urllib2等

  科學(xué)計算:常用的模塊有Numpy、SciPy等

  大數(shù)據(jù)分析:常用的模塊有Numpy、Pandas等

四、python程序的執(zhí)行過程

python之基礎(chǔ)篇(一)

 python的源代碼表現(xiàn)為.py文件。

 python程序在第一次執(zhí)行時,自動通過Compiler模塊將源代碼編譯成.pyc后綴的bytecode(字節(jié)碼)文件,之后由python解釋器(PVM,Interpreter)讀取bytecode文件然后在處理器(processor)中運行。

 pyc是一種二進制文件,是由py文件經(jīng)過編譯后生成的文件,是一種bytecode,py文件變成pyc文件后,加載的速度有所提高,而且pyc是一種跨平臺的字節(jié)碼,是由python的虛擬機(PVM)來執(zhí)行的。pyc的內(nèi)容是跟python的版本相關(guān)的,不同版本編譯后的pyc文件是不同的,2.5編譯的pyc文件,2.4版本的python是無法執(zhí)行的。

 那么為什么需要pyc文件呢?

 除了能夠提高加載速度外,為了防止源碼泄漏,是很有必要將源代碼編譯成pyc文件的,因為py文件可以直接看到源碼,而很多商業(yè)軟件是不可能公開源碼的。

 需要注意的是,python自動通過Compiler模塊編譯源代碼之后的.pyc文件在程序執(zhí)行完以后會自動刪除。如果需要手動生成.pyc文件,可以這樣操作:

[root@localhost test]# ls 1.py 2.py
1.py  2.py
[root@localhost test]# cat 2.py
import py_compile
py_compile.compile('1.py')    #將1.py編譯成1.pyc
[root@localhost test]# python 2.py
[root@localhost test]# ls 1.py*
1.py  1.pyc

 pyo文件是優(yōu)化編譯后的程序,python -O 源文件即可將源程序編譯為pyo文件:

[root@localhost test]# ls b.py*
b.py
[root@localhost test]# python -O -m py_compile b.py
[root@localhost test]# ls b.py*
b.py  b.pyo

五、python的實現(xiàn)

 CPython:原始、標(biāo)準(zhǔn)的實現(xiàn)方式

 Jython:用于與Java語言集成的實現(xiàn)

 IronPython:用于與.NET框架集成的實現(xiàn)

六、編寫、執(zhí)行python代碼

 可以通過兩種方式來執(zhí)行python代碼:

  1、交互式解釋器

  2、python程序文件

 交互式解釋器與python程序文件的利弊:

  交互式模式下的程序執(zhí)行完后難以再次運行,但是執(zhí)行的代碼可以立馬看到效果;

  將編寫的程序保存至文件(.py)中可以方便多次運行,但無法立馬看到執(zhí)行效果。

 python的程序文件分類:

  包含一系列預(yù)編寫好的語句的程序文件稱作“模塊”;

  能夠直接運行的模塊文件通常稱作腳本(即程序的頂層文件)

七、python的程序文件結(jié)構(gòu)

 python的源程序文件通常以.py為擴展名,例如,新建一個名為firstpycode.py的文件,內(nèi)容如下所示:

[root@localhost test]# cat firstpycode.py
#!/usr/bin/python
import platform
print platform.uname()

  第一行為shebang,即執(zhí)行腳本時通知內(nèi)核要啟動的解釋器。

  如果腳本文件中沒有這一行,那么它執(zhí)行時會默認用當(dāng)前shell(即:$SHELL環(huán)境變量)去解釋這個腳本;

  如果#!之后的解釋程序是一個可執(zhí)行文件,那么執(zhí)行這個腳本時,它就會把文件名及其參數(shù)一起作為參數(shù)傳給這個解釋程序去執(zhí)行。

  如果#!之后的解釋程序不是一個可執(zhí)行文件,那么指定的解釋程序會被忽略,轉(zhuǎn)而交給當(dāng)前的SHELL去執(zhí)行這個腳本。

  如果#!指定的解釋程序不存在,則會報錯“bad interpreter: No such file or directory”

  如果#!指定的解釋程序沒有可執(zhí)行權(quán)限,則會報錯“bad interpreter: Permission denied”

  注意:#!之后的解釋程序,必須寫絕對路徑,它是不會自動到$PATH中尋找解釋器的

 第二行通過import導(dǎo)入一個python模塊platform。

 第三行打印platform模塊的uname方法的執(zhí)行結(jié)果。

 python程序的組成:python程序可以分解成模塊、語句、表達式和對象

  程序由模塊構(gòu)成;

  模塊包含語句;

  語句包含表達式;

  表達式建立并處理對象

 表達式是“某事”,而語句是“做某事(即指令)”,例如,“3+4”是某事,而“print 3+4”則是做某事。

 語句的特性:它們改變了事物,例如,賦值語句改變了變量,print語句改變了屏幕輸出等

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:python之基礎(chǔ)篇(一)-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article44/jdjhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站營銷網(wǎng)站維護、網(wǎng)站導(dǎo)航、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
普陀区| 清远市| 乌鲁木齐市| 宝应县| 宣恩县| 神池县| 兰考县| 美姑县| 安泽县| 沙坪坝区| 冕宁县| 鲁山县| 囊谦县| 大庆市| 锡林郭勒盟| 左贡县| 偃师市| 阿拉善盟| 三台县| 金湖县| 开鲁县| 新安县| 台州市| 惠州市| 申扎县| 古浪县| 房产| 噶尔县| 延川县| 久治县| 惠安县| 桦南县| 广昌县| 门源| 新龙县| 临猗县| 民县| 波密县| 湄潭县| 武定县| 阆中市|