本篇文章給大家分享的是有關Python數(shù)據(jù)結(jié)構(gòu)的相關知識有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站設計與策劃設計,鎮(zhèn)賚網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設10多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:鎮(zhèn)賚等地區(qū)。鎮(zhèn)賚做網(wǎng)站價格咨詢:13518219792
今天一起學習python的數(shù)據(jù)結(jié)構(gòu)的相關知識。
1. 模塊初識
Python的強大之處在于他有非常豐富和強大的標準庫和第三方庫。
一般標準庫在Lib目錄,第三方庫:在 site-packages中。
1.1 sys模塊(python解釋器的sys模塊,用c語音寫的,Lib目錄下沒有sys.py)
sys模塊主要是用于提供對python解釋器相關的操作,比如:
用法舉例:
1.2 os模塊
os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當os模塊被導入后,它會自適應于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應的操作,在python編程時,經(jīng)常和文件、目錄打交道,所以離不了os模塊。python編程時,經(jīng)常和文件、目錄打交道,這是就離不了os模塊。
用法舉例:
大家可以理解下下面代碼是什么意思?文末留言一起交流。
2. python運行機制
我們知道python是解釋型語言,那么生成的*.pyc文件是什么呢?c應該是compiled的縮寫才對?。?/p>
一些解釋型語言也可以通過解釋器的優(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文件,如果找到,則直接載入,否則就重復上面的過程。
判斷更新時間,執(zhí)行py還是pyc。
說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
float(浮點型)
浮點數(shù)用來處理實數(shù),即帶有小數(shù)的數(shù)字。
浮點數(shù)是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,小數(shù)包括有理數(shù)和無理數(shù)。
所以浮點數(shù)一定是小數(shù),小數(shù)不一定是浮點數(shù)。
浮點計算是指浮點數(shù)參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或舍入。
復數(shù)
由實數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復數(shù)的實數(shù)部分,y是復數(shù)的虛數(shù)部分,這里的x和y都是實數(shù)。
布爾值
字符串
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
bytes 轉(zhuǎn)為 str – decode
python 數(shù)據(jù)傳輸,都是以二進制數(shù)據(jù)傳。
判斷一個變量的類型
4. 字符串操作
大小寫處理
字符串格式判斷
格式化輸出
字符空格回車處理
字符串處理
其他
5. 列表、元組操作
列表
元組
元組(): 又稱只讀列表,只有 count index 兩個方法。
6. 字典操作
字典一種key - value 的數(shù)據(jù)類型
語法:
字典的特性:
a). dict是無序的
b). key必須是唯一的,so 天生去重
常用:
遍歷字典
fromkeys用法
7. 深copy和淺copy
7.1 數(shù)字和字符串
上篇提了:對于數(shù)字和字符串一旦創(chuàng)建便不能被修改,假如對于字符串進行替代操作,只會在內(nèi)存中重新生產(chǎn)一個字符串,而對于原字符串,并沒有改變。
7.2 字典、列表等數(shù)據(jù)結(jié)構(gòu)
先看個例子:
請想一下:如果對alphabet的值做如下更改,其他四個變量的值會不會變化呢?
下面分別看一下其他四個變量的值:
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)的相關知識有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當前題目:Python數(shù)據(jù)結(jié)構(gòu)的相關知識有哪些
瀏覽地址:http://jinyejixie.com/article38/iehepp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、靜態(tài)網(wǎng)站、移動網(wǎng)站建設、動態(tài)網(wǎng)站、App設計、服務器托管
聲明:本網(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)