成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python標(biāo)準(zhǔn)庫(kù)有哪些功能

這篇文章將為大家詳細(xì)講解有關(guān)Python標(biāo)準(zhǔn)庫(kù)有哪些功能,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的古浪網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Python的一大好處在于它有一套很有用的標(biāo)準(zhǔn)庫(kù)(standard library)。標(biāo)準(zhǔn)庫(kù)是隨著Python一起安裝在你的電腦中的,是Python的一部分 (當(dāng)然也有特殊情況。有些場(chǎng)合會(huì)因?yàn)橄到y(tǒng)安全性的要求,不使用全部的標(biāo)準(zhǔn)庫(kù),比如說(shuō)Google App Engine)。

利用已有的類(class)和函數(shù)(function)進(jìn)行開(kāi)發(fā),可以省去你從頭寫(xiě)所有程序的苦惱。這些標(biāo)準(zhǔn)庫(kù)就是蓋房子已經(jīng)燒好的磚,要比你自己去燒磚來(lái)得便捷得多。

我將根據(jù)我個(gè)人的使用經(jīng)驗(yàn)中,先挑選出標(biāo)準(zhǔn)庫(kù)下面三個(gè)方面的包(package)介紹,以說(shuō)明標(biāo)準(zhǔn)庫(kù)的強(qiáng)大功能:

Python增強(qiáng);系統(tǒng)互動(dòng);網(wǎng)絡(luò)

***類:Python增強(qiáng)

Python自身的已有的一些功能可以隨著標(biāo)準(zhǔn)庫(kù)的使用而得到增強(qiáng)。

1) 文字處理

Python的string類提供了對(duì)字符串進(jìn)行處理的方法。但Python并不止步于此。通過(guò)標(biāo)準(zhǔn)庫(kù)中的re包,Python實(shí)現(xiàn)了對(duì)正則表達(dá)式(regular expression)的支持。Python的正則表達(dá)式可以和Perl以及Linux bash的正則表達(dá)相媲美。

(正則表達(dá)式通過(guò)自定義的模板在文本中搜索或替換符合該模板的字符串。比如你可以搜索一個(gè)文本中所有的數(shù)字。正則表達(dá)式的關(guān)鍵在于根據(jù)自己的需要構(gòu)成模板。)

此外,Python標(biāo)準(zhǔn)庫(kù)還為字符串的輸出提供更加豐富的格式, 比如: string包,textwrap包。

2) 數(shù)據(jù)對(duì)象

我們之前的快速教程介紹了表(list), 字典(dictionary)等數(shù)據(jù)對(duì)象。它們各自有不同的特征,適用于不同場(chǎng)合的對(duì)數(shù)據(jù)的組織和管理。Python的標(biāo)準(zhǔn)庫(kù)定義了更多的數(shù)據(jù)對(duì)象,比如說(shuō)數(shù)組(array),隊(duì)列(Queue)。這些數(shù)據(jù)對(duì)象也分別有各自的特點(diǎn)和功能。一個(gè)熟悉數(shù)據(jù)結(jié)構(gòu)(data structure)的Python用戶可以在這些包中找到自己需要的數(shù)據(jù)結(jié)構(gòu)。

此外,我們也會(huì)經(jīng)常使用copy包,以復(fù)制對(duì)象。

3) 日期和時(shí)間

日期和時(shí)間的管理并不復(fù)雜,但容易犯錯(cuò)。Python的標(biāo)準(zhǔn)庫(kù)中對(duì)日期和時(shí)間的管理頗為完善(利用time包管理時(shí)間,利用datetime包管理日期和時(shí)間),你不僅可以進(jìn)行日期時(shí)間的查詢和變換(比如:2012年7月18日對(duì)應(yīng)的是星期幾),還可以對(duì)日期時(shí)間進(jìn)行運(yùn)算(比如2000.1.1 13:00的378小時(shí)之后是什么日期,什么時(shí)間)。通過(guò)這些標(biāo)準(zhǔn)庫(kù),還可以根據(jù)需要控制日期時(shí)間輸出的文本格式(比如:輸出’2012-7-18‘還是'18 Jul 2012')

4) 數(shù)學(xué)運(yùn)算

標(biāo)準(zhǔn)庫(kù)中,Python定義了一些新的數(shù)字類型(decimal包, fractions包), 以彌補(bǔ)之前的數(shù)字類型(integer, float)可能的不足。標(biāo)準(zhǔn)庫(kù)還包含了random包,用于處理隨機(jī)數(shù)相關(guān)的功能(產(chǎn)生隨機(jī)數(shù),隨機(jī)取樣等)。math包補(bǔ)充了一些重要的數(shù)學(xué)常數(shù)和數(shù)學(xué)函數(shù),比如pi,三角函數(shù)等等。

(盡管numpy并不是標(biāo)準(zhǔn)庫(kù)中的包,但它的數(shù)組運(yùn)算的良好支持,讓它在基于Python的科研和計(jì)算方面得到相當(dāng)廣泛的應(yīng)用,可以適當(dāng)關(guān)注。)

5) 存儲(chǔ)

之前我們的快速教程中,只提及了文本的輸入和輸出。實(shí)際上,Python可以輸入或輸出任意的對(duì)象。這些對(duì)象可以通過(guò)標(biāo)準(zhǔn)庫(kù)中的pickle包轉(zhuǎn)換成為二進(jìn)制格式(binary),然后存儲(chǔ)于文件之中,也可以反向從二進(jìn)制文件中讀取對(duì)象。

此外,標(biāo)準(zhǔn)庫(kù)中還支持基本的數(shù)據(jù)庫(kù)功能(sqlite3包)。XML和csv格式的文件也有相應(yīng)的處理包。

第二類:系統(tǒng)互動(dòng)

系統(tǒng)互動(dòng),主要指Python和操作系統(tǒng)(operate system)、文件系統(tǒng)(file system)的互動(dòng)。Python可以實(shí)現(xiàn)一個(gè)操作系統(tǒng)的許多功能。它能夠像bash腳本那樣管理操作系統(tǒng),這也是Python有時(shí)被成為腳本語(yǔ)言的原因。

1) Python運(yùn)行控制

sys包被用于管理Python自身的運(yùn)行環(huán)境。Python是一個(gè)解釋器(interpreter), 也是一個(gè)運(yùn)行在操作系統(tǒng)上的程序。我們可以用sys包來(lái)控制這一程序運(yùn)行的許多參數(shù),比如說(shuō)Python運(yùn)行所能占據(jù)的內(nèi)存和CPU, Python所要掃描的路徑等。另一個(gè)重要功能是和Python自己的命令行互動(dòng),從命令行讀取命令和參數(shù)。

2) 操作系統(tǒng)

如果說(shuō)Python構(gòu)成了一個(gè)小的世界,那么操作系統(tǒng)就是包圍這個(gè)小世界的大世界。Python與操作系統(tǒng)的互動(dòng)可以讓Python在自己的小世界里管理整個(gè)大世界。

os包是Python與操作系統(tǒng)的接口。我們可以用os包來(lái)實(shí)現(xiàn)操作系統(tǒng)的許多功能,比如管理系統(tǒng)進(jìn)程,改變當(dāng)前路徑(相當(dāng)于’cd‘),改變文件權(quán)限等,建立。但要注意,os包是建立在操作系統(tǒng)的平臺(tái)上的,許多功能在Windows系統(tǒng)上是無(wú)法實(shí)現(xiàn)的。另外,在使用os包中,要注意其中的有些功能已經(jīng)被其他的包取代。

我們通過(guò)文件系統(tǒng)來(lái)管理磁盤(pán)上儲(chǔ)存的文件。查找、刪除,復(fù)制文件,以及列出文件列表等都是常見(jiàn)的文件操作。這些功能經(jīng)??梢栽诓僮飨到y(tǒng)中看到(比如ls, mv, cp等Linux命令),但現(xiàn)在可以通過(guò)Python標(biāo)準(zhǔn)庫(kù)中的glob包、shutil包、os.path包、以及os包的一些函數(shù)等,在Python內(nèi)部實(shí)現(xiàn)。

subprocess包被用于執(zhí)行外部命令,其功能相當(dāng)于我們?cè)诓僮飨到y(tǒng)的命令行中輸入命令以執(zhí)行,比如常見(jiàn)的系統(tǒng)命令'ls'或者'cd',還可以是任意可以在命令行中執(zhí)行的程序。

4) 線程與進(jìn)程

Python支持多線程(threading包)運(yùn)行和多進(jìn)程(multiprocessing包)運(yùn)行。通過(guò)多線程和多進(jìn)程,可以提高系統(tǒng)資源的利用率,提高計(jì)算機(jī)的處理速度。Python在這些包中,附帶有相關(guān)的通信和內(nèi)存管理工具。此外,Python還支持類似于UNIX的signal系統(tǒng),以實(shí)現(xiàn)程序之間的粗糙的信號(hào)通信。

第三類:網(wǎng)絡(luò)

現(xiàn)在,網(wǎng)絡(luò)功能的強(qiáng)弱很大程度上決定了一個(gè)語(yǔ)言的成功與否。從Ruby, JavaScript, php身上都可以感受到這一點(diǎn)。Python的標(biāo)準(zhǔn)庫(kù)對(duì)互聯(lián)網(wǎng)開(kāi)發(fā)的支持并不充分,這也是Django等基于Python的項(xiàng)目的出發(fā)點(diǎn): 增強(qiáng)Python在網(wǎng)絡(luò)方面的應(yīng)用功能。這些項(xiàng)目取得了很大的成功,也是許多人愿意來(lái)學(xué)習(xí)Python的一大原因。但應(yīng)注意到,這些基于Python的項(xiàng)目也是建立在Python標(biāo)準(zhǔn)庫(kù)的基礎(chǔ)上的。

1) 基于socket層的網(wǎng)絡(luò)應(yīng)用

socket是網(wǎng)絡(luò)可編程部分的底層。通過(guò)socket包,我們可以直接管理socket,比如說(shuō)將socket賦予給某個(gè)端口(port),連接遠(yuǎn)程端口,以及通過(guò)連接傳輸數(shù)據(jù)。我們也可以利用SocketServer包更方便地建立服務(wù)器。

通過(guò)與多線程和多進(jìn)程配合,建立多線程或者多進(jìn)程的服務(wù)器,可以有效提高服務(wù)器的工作能力。此外,通過(guò)asyncore包實(shí)現(xiàn)異步處理,也是改善服務(wù)器性能的一個(gè)方案。

2) 互聯(lián)網(wǎng)應(yīng)用

在實(shí)際應(yīng)用中,網(wǎng)絡(luò)的很多底層細(xì)節(jié)(比如socket)都是被高層的協(xié)議隱藏起來(lái)的。建立在socket之上的http協(xié)議實(shí)際上更容易也更經(jīng)常被使用。http通過(guò)request/responce的模式建立連接并進(jìn)行通信,其信息內(nèi)容也更容易理解。Python標(biāo)準(zhǔn)庫(kù)中有http的服務(wù)器端和客戶端的應(yīng)用支持(BaseHTTPServer包; urllib包, urllib2包), 并且可以通過(guò)urlparse包對(duì)URL(URL實(shí)際上說(shuō)明了網(wǎng)絡(luò)資源所在的位置)進(jìn)行理解和操作。

關(guān)于“Python標(biāo)準(zhǔn)庫(kù)有哪些功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

文章名稱:Python標(biāo)準(zhǔn)庫(kù)有哪些功能
本文路徑:http://jinyejixie.com/article12/ijgggc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊(cè)、搜索引擎優(yōu)化、App開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)
武夷山市| 闻喜县| 左云县| 虞城县| 石屏县| 大竹县| 秦安县| 西昌市| 石河子市| 甘孜| 板桥市| 泽库县| 贞丰县| 铜山县| 饶河县| 万盛区| 交口县| 凤冈县| 永康市| 都安| 逊克县| 绥芬河市| 高平市| 雷州市| 炉霍县| 图木舒克市| 城口县| 清新县| 霍城县| 玛纳斯县| 伊金霍洛旗| 许昌县| 清远市| 黑河市| 石家庄市| 通榆县| 福海县| 西峡县| 恭城| 沅陵县| 静乐县|