python程式設計入門讀書筆記2

2021-07-02 18:39:16 字數 4324 閱讀 2651

資料結構

python

中兩大主力資料結構是列表和字典。列表按順序儲存資料,而字典像小型資料庫,使用鍵高效的儲存和檢索資料。

type

函式可以檢查值或變數的資料型別。

序列是一組按順序排列的值,python

中有3種內建的序列型別:字串、元組和列表。第乙個正索引為0

,指向左端。第乙個負索引為-1

,指向右端。也可使用切片表示法複製子序列,例如s[begin:end]

從索引begin

複製到end-1

的元素。可使用+

和*進行拼接,要進行拼接序列的型別必須相同,不能元組和列表進行拼接。可使用len

函式進行計算長度。表示式xin s

檢查序列s

是否包含元素x

,如果包含返回true

否則返回false。元組

元組是一種不可變序列,包含零個或更多個值。元組用圓括號括起,其中元素用逗號分隔。如果要修改元組,就必須建立乙個體現更改的新元組。如果需要頻繁修改就將元組換成列表。單元素元組後面必須有逗號分隔。

x in tup#如果x是tup的元素返回true

len(tup)#元組tup包含的元素數

tup.count(x)#元素x在元組tup中出現的次數

tup.index(x)#元組tup中第乙個元素x的索引

列表列表是可變的,可在不複製的情況下,新增、刪除或修改列表元素。列表用方括號括起其中元素用逗號分隔,列表可包含任何型別的值,空列表用

表示。在處理列表的程式查詢錯誤時,通常必須明白列表元素指向其值,而不是包含它們。當列表中有元素指向自身時,python

能夠識別出自引用。函式reverse

不會製作列表的拷貝,而是直接刪除列表的元素,因此我們說反轉是就地完成的。

s.count()#返回元素x在列表s中出現的次數

s.extend(lst)#將lst中所有元素都新增到s中

s.index(x)#返回第一次x的索引

s.insert(i,x)#將元素x插入到索引i指定的元素前面,結果s[i]== x

s.pop(i)#刪除並返回s中索引為i的元素

s.remove(x)#刪除s中的第乙個x元素

s.reverse()#反轉s中元素的排列順序

s.sort()#將s中的元素按公升序排列

列表解析,

也可使用列表解析進行篩選

n*n for n in range(1,11)

2*n+7 for n in range(1,11)

n**3 for n in range(1,11)

n for n in nums if n>0

c for c in s if c.lower()

c for c in s if c.lower() not in 『aeiou』

字典在儲存鍵值對方面,python

字典是乙個效率極高的資料結構。字典也稱為關聯陣列、雜湊表。字典利用了乙個巧妙的程式設計訣竅-

雜湊。從本質上說,字典的每個鍵值都被轉換為乙個數字-

雜湊值。訪問值時將提供的鍵值轉換為雜湊值,再跳到列表相應的位置上。

字典中的鍵必須是獨一無二的,而且鍵是不可變的。如果你預先不知道某個值是否包含在字典中,可使用keyin d

進行檢查。如果key

包含在字典d

中則返回true

d.items()#返回乙個由字典d的鍵值對組成的檢視

d.keys()#返回乙個由字典d的鍵組成的檢視

d.values()#返回乙個由字典d的值組成的檢視

d.get(key)#返回與key相關聯的值

d.pop(key)#刪除鍵key並返回與之想關聯的值

d.popitem()#返回字典d中的某個鍵值對

d.clear()#刪除字典d的所有元素

d.copy()#複製字典d

d.fromkeys(s,t)#建立乙個新字典,其中的鍵來自s,值來自t

d.setdefault(key,v)#如果key包含在字典d中則返回其值,否則返回v並將(key,v)新增到字典d中。

d.update(e)#將e中的鍵值對新增到字典d中,e可能是字典,也可以是鍵值對序列。

集合集合是一系列不重複的元素。集合類似於字典,但只包含鍵,而沒有相關聯的值。集合分兩類:可變集合和不可變集合。集合最常用的的功能就是刪除序列中的重複元素。

輸入和輸出

python

提供了強大的基本檔案i/o

支援。

設定字串格式

x= 1/81

print(x) #0.0123456790123

print(『value:%.2f』%x)#0.01

print(『value:%.5f』%x)#0.01235

d整數

o八進位制

x小寫十六進製制

x大寫十六進製制

e小寫科學計數法浮點數

e大寫科學計數法浮點數

f浮點數

s字串

%%字元

也可以使用format函式進行字串的格式整理。

『my has 』.format(『dog』,』fleas』)

輸出:』mydog has fleas』

『1/81= 』.format(x = 1/81)

輸出:』1/81= 0.0123456790123』

『num= f}』.format(x = 1/81,d = 3)

輸出:』num= 0.012』

『num= f}』.format(x = 1/81,d = 4)

輸出:』num= 0.0123』

可以通過其設定精度,如果這都滿足不了你,那麼還有最後一招了,模組啊,可以使用

cheetah

模組或者

django

模組。

讀寫檔案

檔案是乙個命名的位元集合,儲存在硬碟、u

os.getcwd()#返回當前工作目錄的名稱

os.listdir(p)#返回乙個字串列表,其中包含路徑p指定的資料夾中所有檔名稱

os.chdir(p)#將當前工作目錄設定為路徑p

os.path.isfile(p)#當路徑p指定的是乙個檔案的名稱,返回true

os.path.isdir(p)#當路徑p指定的是乙個資料夾的名稱,返回true

os.stat(fname)#返回有關fname的資訊,如大小和最後一次

如果只是想獲悉當前工作目錄下的.py

檔案,可使用下方的函式。

def list_py(path = none):

if path == none:path= os.getcwd()return[fname for fname in os.listdir(path)

if os.path.isfile(fname)

if fname.endswith(『.py』)]

返回當前工作目錄中所有檔案的大小總和。

def size_in_bytes(fname):

return os.stat(fname).st_size

def cwd_size_in_bytes():

total= 0

for name in files_cwd():

total= total + size_in_bytes(name)

return total

處理文字檔案

逐行讀取文字檔案

#r讀取w寫入a在檔案末尾輸入b二進位制模式t文字模式+為讀寫開啟檔案

def print_file1(fname):

f= open(fname,』r』)

for line in f:

print(line,end= 『』)

f.close()

f.read()#讀取檔案

f.write(『helloworld! \n』)#寫入檔案

f.seek(0)#讓檔案指標指向檔案開頭

pickle

pickle.dump

將資料結構儲存到磁碟中,之後可以使用pickle.load

從磁碟獲取資料結構。

讀取網頁

通過urllib

模組    

python核心程式設計讀書筆記 第2章 入門

print 重定向輸出 算數操作符 比較操作符 邏輯操作符 布林值 1 true true 2 true false 附 連續表示式 python中的連續表示式相當於and操作。如 3 4 5 true 3 4 and 4 5 true 3 4 1 python中為false,js中為true,因為...

Linux程式設計讀書筆記 入門

第一章 入門 1 什麼是unix unix是open group管理的乙個商標,它指的是遵循特定規範的計算機作業系統 2 什麼是linux linux是乙個可以自由發布的類unix核心實現,他是乙個作業系統的底層核心 5 庫檔案 1 靜態庫 a 2 共享庫 so 靜態庫的缺點 同時執行許多應用程式並...

Python核心程式設計讀書筆記

本次筆記針對原書第6章節列表 列表型別 內建函式 list.extend seq 把序列seq的內容新增到 列表中 list.index obj,i 0,j len list list.insert index,obj 刪除操作 list.pop index 1 根據位置刪除 list,remove...