1. 程式人生 > >python中的雙層迴圈,以及函式

python中的雙層迴圈,以及函式

0、else
當迴圈正常結束的時候會執行else的程式碼,如果非正常結束,就不會執行else裡面的程式碼
1、forin
也是一種遍歷方式,而且是你以後經常使用的遍歷方式,可以遍歷字串、列表、字典
格式:
for x in sequence:
print(x)
遍歷字典:
如果一個變數只能遍歷字典所有的鍵
如果是兩個變數 dic1.items(), k和v就能每次遍歷字典的鍵值對
for k, v in dic1.items():
print(k, v)
range(start, stop, step=1)
step 預設為1
寫兩個值:會產生start-stop之間的數,包含start,不包含stop
寫一個值:會產生0-stop之間的數,包含0,不包含stop
寫三個值,第三個值是步進值,預設是1,可以寫2和3
start > stop, step應該是負數
start < stop, step應該是正數
break\continue : 在forin中正常使用
else : 迴圈如果通過break結束的,不會執行else裡面的程式碼,如果正常結束,就會執行else裡面的程式碼
2、雙重迴圈
迴圈裡面還有迴圈,稱之為雙重迴圈
內層迴圈和外層迴圈
外層迴圈體執行的次數 外層迴圈次數
內層迴圈體執行的次數 外層迴圈次數*內層迴圈次數
3、列表、字典生成式
就是Python為大家提供的快速的生成列表、字典一種方式
4、函式(重點)
定義:在專案開發過程中,你會發現,有一些程式碼塊會被反覆的使用到,程式猿就會將這一坨程式碼塊封裝起來,封裝起來的這一坨東西就叫做函式,以後你想執行這一坨程式碼塊,不需要重寫,只需要呼叫函式即可
學習函式:學的是函式的定義格式,函式的呼叫方式
優點:
(1)提高程式碼的利用率
(2)增加程式碼的可讀性
(3)便於除錯bug(debug)
發現bug需要3秒鐘,除錯bug需要3個小時,debug卻要一輩子
碼農
列印除錯法:print() exit()
斷點除錯法:以後再說
分類:
庫函式:print() input() abs()
自定義函式:自己寫的函式
命名:
識別符號
(1)字母、數字、下劃線組成
(2)不能以數字開頭
(3)不能是系統關鍵字 if while for None list else pass str tuple
函式起名字也要是識別符號,見名知意
hello_world helloWorld 多個單詞的時候,兩者均可
用法:(function\method, func, fn)
(1)以def開頭
(2)def後面有個空格,然後空格後面就是函式名
(3)函式名後面跟一個小括號,小括號裡面是函式的引數,如果是空的,就是沒有引數
(4)小括號後面跟一個冒號
(5)函式體要有縮排
【注】函式定義之後,如果不呼叫,不會執行
呼叫函式格式:函式名()
【注】呼叫函式要寫到定義函式的下面,一般情況下,函式的定義都寫到上面,呼叫寫到下面
【注】函式可以過載,後面的會覆蓋前面的
函式的幾種格式:
引數:看一個函式有沒有引數,看小括號,如果小括號裡面有東西,那就是有引數,反之,就是沒有引數
返回值:看一個函式有沒有返回值,需要看函式體內有沒有return關鍵字,有的話,就是由返回值,沒有的話,就是沒有返回值,但是Python裡面如果沒有返回值預設返回None
(1)無參無返回值
(2)有參無返回值
引數就是在小括號裡面寫變數即可,小括號裡的稱之為形式引數,簡稱形參
【注】引數可以寫多個,中間以逗號隔開
【注】在函式體內,要假設所有形參都有值,都可以直接使用
【注】呼叫函式的時候,需要給函式傳參,寫到這的叫做實際引數,簡稱實參
【注】實參給形參傳遞引數的時候,有順序,挨個傳遞
【注】可以使用關鍵字引數進行傳遞,不用考慮順序,但是名字得和形參一樣
(3)無參有返回值
return 表示式
函式呼叫表示式的值就是函式的返回值,函式碰到return代表函式的結束
函式可以返回多個值,其實是返回一個元組
(4)有參有返回值