一.for迴圈和可迭代物件遍歷
①.for迴圈通常用於可迭代物件的遍歷。for迴圈格式如下:
for 變數 in 可迭代物件:
(縮排)迴圈體語句
②.可迭代物件,python包含以下幾種可迭代物件:
1.序列。包含:字串、列表、元組。
2.字典
3.迭代器物件
4.生成器函式
5.檔案物件
③.range物件
range物件是乙個迭代器物件,用來產生指定範圍的數字序列。格式為:
rang(start,end [,step])
生成的數值串行從start開始到end結束(不包含end)。若沒有寫start,則預設從0開始,step是步長,預設為1.
for i in range (10)print(i)
0,1,2,3,4,5,6,7,8,9
for i in range (1,10)print(i)
1,2,3,4,5,6,7,8,9
for i in range (3,10,2)print(i)
3,5,7,9
④.巢狀迴圈,乙個迴圈體內可以巢狀另乙個迴圈,一般稱為「巢狀迴圈」,或者「多重迴圈」。
⑤.break語句,用於while和for迴圈,用來結束整個迴圈。當有巢狀迴圈時,break語句只能跳出最近一層的迴圈。
⑥.continu語句,用於結束本次迴圈,繼續下一次迴圈,有多個巢狀迴圈時,continu語句只能跳出最近一層的迴圈。
⑦.else語句,while和for迴圈可以附帶乙個else語句(可選),如果for、while語句沒有被break語句結束,則會執行else子句,否則不執行。格式如下:
while 條件表示式:
(縮排)迴圈體
else:
(縮排)語句塊
或者for 變數 in 可迭代工具:
(縮排)迴圈體
else:
(縮排)語句塊
二.迴圈**優化,雖然計算機越來越快,空間也越來越大,但仍要提高**的執行效率,遵守下面三個原則可以大大提高執行速度,避免不必要的低效計算:
(1)儘量減少迴圈內部不必要的計算
(2)巢狀迴圈中,儘量減少內部迴圈的計算,盡可能向外提。
(3)區域性變數查詢較快,盡量使用區域性變數
eg:
這兩個程式雖然執行結果都一樣,但是第二個程式中,外提乙個計算,減少了內部計算,執行時間也將減少。
其他優化手段:
1.連線多個字串,使用join()而不使用+
2.列表進行元素插入和刪除,盡量在列表尾部操作。
三.使用zip()並行迭代
我們可以通過zip()函式對多個序列進行並行迭代,zip()函式在最短序列「用完」時就會停止。
四.推導式建立序列,推導式是乙個或者多個迭代器快速建立序列的一種方法,他可以將迴圈和條件判斷結合,從而避免冗長的**。
(1)列表推導式生成列表物件,語法如下:
[表示式 for item in 可迭代物件] 或者 [表示式 for item in 可迭代物件 條件判斷]
[x for x in range(1,5)][1,2,3,4]
[x*2 for x in range(1,5)][2,4,6,8]
[x*2 for x in rang(1,20) if x%5==0][10,20,30]
(2)字典推導式生成字典物件,格式如下:
類似於列表推導式,字典推導也可以增加if條件判斷、多個for迴圈。
(3)集合推導式,與列表推導式的語法格式類似:
,或者
(4)生成器推導式(生成元祖):乙個生成器只能執行一次,第一次迭代可以得到資料,第二次迭代資料不存在。
gnt=(x for x in rang(1000) if x%9==0)for x in gnt:
print(x,end=』』)
9,18,27,36,45,54,63,72,81,90,99
for x in gnt:print(x,end=』』)
五.函式
①.基本概念:
(1)乙個程式有乙個個任務組成;函式就是代表乙個任務或者乙個功能。
(2)函式是**腹痛的通用機制。
②.分類
(1)內建函式
(2)標準庫函式
(3)第三方庫函式
(4)使用者自定義函式
③函式的定義和呼叫
(1)語法格式:
def 函式名([引數列表]):
『』『文件字串』』』
函式體/若干語句
要點:(1)python執行def時,會建立乙個函式物件,並繫結到函式名變數上。
(2)引數列表:
1.圓括號內是形式引數列表,又對各引數則是用逗號隔開。
2.形式引數不需要宣告型別,也不需要指定函式返回值型別。
3.無引數,也必須保留空的括號。
4.參列表必須與形參列表一一對應。
(3)return返回值
1.如果函式體中包含return語句,則結束函式執行並返回值。
2.如果函式體中不包含return語句,則返回none
(4)呼叫函式之前,必須要先定義函式,即先呼叫def建立函式物件
1.內建函式物件自動建立
2.標準庫或者第三方庫函式,通過import匯入模組
④.返回值
return返回值要點:
1.如果函式體中包含return語句,則結束函式執行並返回值。
2.如果函式體中不包含return語句,則返回none
3.要返回多個返回值,使用列表、元組、字典、集合將多個值存起來
def print_start(n):print(』*』*n)
函式的呼叫
print_start(5)
第五天(學習筆記)
1.什麼是字典 dict.以 表示,沒一項用逗號隔開,內部元素用key value的形式來儲存資料.查詢的效率非常高,通過key來查詢元素 內部使用key來計算乙個記憶體位址 暫時 hash演算法.key必須是不可變的資料型別 key 必須是可雜湊的資料型別 可雜湊就是不可變 2.字典的增刪改查 1...
Python學習第五天
1 關於print,使用print方法列印多個表示式也是可行的 print age 12 age 12 2 別名,如果需要引用的方法名出現重複時可以使用別名 from math import sqrt as foobar 3 多個賦值操作可以同時進行 x,y,z 1,2,3 print x,y,z ...
第五天學習python
這其實也不是一天學習的,而是週末和周一一起的。週末學習了如何建立自己的module,記憶如何使用dir 函式。周一初步學習第九章。資料結構。python中主要有三種內建資料結構 列表,元組,字典。list是處理一組有序專案的資料結構,在每個專案中用逗號隔開。列表中的專案包括在方括號中,乙個列表建立之...