Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

本篇文章給大家分享的是有關(guān)Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些,小編覺得挺實用的,因此分享給大家學(xué)習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計與策劃設(shè)計,鎮(zhèn)賚網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鎮(zhèn)賚等地區(qū)。鎮(zhèn)賚做網(wǎng)站價格咨詢:13518219792

今天一起學(xué)習python的數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識。

1. 模塊初識

Python的強大之處在于他有非常豐富和強大的標準庫和第三方庫。

一般標準庫在Lib目錄,第三方庫:在 site-packages中。

1.1 sys模塊(python解釋器的sys模塊,用c語音寫的,Lib目錄下沒有sys.py)

sys模塊主要是用于提供對python解釋器相關(guān)的操作,比如:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

用法舉例:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

1.2 os模塊

os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當os模塊被導(dǎo)入后,它會自適應(yīng)于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應(yīng)的操作,在python編程時,經(jīng)常和文件、目錄打交道,所以離不了os模塊。python編程時,經(jīng)常和文件、目錄打交道,這是就離不了os模塊。

用法舉例:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

大家可以理解下下面代碼是什么意思?文末留言一起交流。

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些


2. python運行機制

我們知道python是解釋型語言,那么生成的*.pyc文件是什么呢?c應(yīng)該是compiled的縮寫才對??!

一些解釋型語言也可以通過解釋器的優(yōu)化來在對程序做出翻譯時對整個程序做出優(yōu)化,從而在效率上接近編譯型語言。

此外,隨著Java等基于虛擬機的語言的興起,我們又不能把語言純粹地分成解釋型和編譯型這兩種。

用Java來舉例,Java首先是通過編譯器編譯成字節(jié)碼文件,然后在運行時通過解釋器給解釋成機器文件。所以我們說Java是一種先編譯后解釋的語言。

其實Python和Java/C#一樣,也是一門基于虛擬機的語言

簡述Python的運行過程

當python程序運行時,編譯的結(jié)果則是保存在位于內(nèi)存中的PyCodeObject中,當Python程序運行結(jié)束時,Python解釋器則將PyCodeObject寫回到pyc文件中。

當python程序第二次運行時,首先程序會在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重復(fù)上面的過程。

判斷更新時間,執(zhí)行py還是pyc。

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

說pyc文件其實是PyCodeObject的一種持久化保存方式。


3. 數(shù)據(jù)類型

  • int(整型)

在32位機器上,整數(shù)的位數(shù)為32位,取值范圍為

-2^31~2^31-1,

在64位系統(tǒng)上,整數(shù)的位數(shù)為64位,取值范圍為

-2^63~2^63-1,

這也是為什么32位系統(tǒng)內(nèi)存最大為4G的原因。

4G=4*1024M*1024k*1024-1 = 2^31-1

  • long(長整型)

從Python2.2起,如果整數(shù)發(fā)生溢出,Python會自動將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長整數(shù)

python3 已經(jīng)不區(qū)分int和long

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • float(浮點型)

浮點數(shù)用來處理實數(shù),即帶有小數(shù)的數(shù)字。

浮點數(shù)是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,小數(shù)包括有理數(shù)和無理數(shù)。

所以浮點數(shù)一定是小數(shù),小數(shù)不一定是浮點數(shù)。

浮點計算是指浮點數(shù)參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或舍入。

  • 復(fù)數(shù)

由實數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復(fù)數(shù)的實數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分,這里的x和y都是實數(shù)。

  • 布爾值

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 字符串

Python 3最重要的新特性大概是對文本和二進制數(shù)據(jù)做了更為清晰地區(qū)分。文本總是Unicode,由str類型表示,二進制數(shù)據(jù)由bytes類型表示。Python 3不會以任意隱式的方式混用str和butes,正因為此,python 3不能拼接字符串和字符包,也無法在字節(jié)包里搜索字符串,不能講字符串傳入?yún)?shù)為字節(jié)包的函數(shù)。

str 轉(zhuǎn)為 bytes – encode

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

bytes 轉(zhuǎn)為 str – decode

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

python 數(shù)據(jù)傳輸,都是以二進制數(shù)據(jù)傳。

  • 判斷一個變量的類型

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些


4. 字符串操作

  • 大小寫處理

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 字符串格式判斷

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 格式化輸出

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 字符空格回車處理

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 字符串處理

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 其他

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些


5. 列表、元組操作

  • 列表

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 元組

元組(): 又稱只讀列表,只有 count index 兩個方法。


6. 字典操作

字典一種key - value 的數(shù)據(jù)類型

  • 語法:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 字典的特性:

a). dict是無序的

b). key必須是唯一的,so 天生去重

  • 常用:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • 遍歷字典

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

  • fromkeys用法

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些


7. 深copy和淺copy

7.1 數(shù)字和字符串

上篇提了:對于數(shù)字和字符串一旦創(chuàng)建便不能被修改,假如對于字符串進行替代操作,只會在內(nèi)存中重新生產(chǎn)一個字符串,而對于原字符串,并沒有改變。

7.2 字典、列表等數(shù)據(jù)結(jié)構(gòu)

先看個例子:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

請想一下:如果對alphabet的值做如下更改,其他四個變量的值會不會變化呢?

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

下面分別看一下其他四個變量的值:

Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些

7.3 總結(jié)一下

  • 直接“=”賦值,都指向同一個內(nèi)存地址,alphabet變,alphabet3也變。和簡單的數(shù)字、字符串不一樣

  • list.copy()和copy模塊的copy.copy()一樣,都是淺copy,只copy了第一層,下面的層只是copy內(nèi)存地址,源變量深層被更改,則更改。

  • 完全克隆,不只拷貝內(nèi)存地址,則要深copy,使用copy模塊的copy.deepcopy()

以上就是Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前題目:Python數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識有哪些
瀏覽地址:http://muchs.cn/article38/iehepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站靜態(tài)網(wǎng)站、移動網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、App設(shè)計、服務(wù)器托管

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站制作