第八講 for迴圈以及函式

2021-10-14 09:56:05 字數 1700 閱讀 7999

條件判斷

迴圈控制

for迴圈表示式

函式函式的引數

函式的返回值的介紹

函式的作用域

global關鍵字

函式作用域的優先順序

遞迴函式

python程式是從上而下逐行執行的,在.py檔案中,除了def後定義函式外的**都會被認為是「main」方法中的內容從上而下執行。乙個 .py,除了可以被直接執行外,還可以作為模組,被其他 .py檔案匯入。不管是直接執行還是被匯入,.py 檔案的最頂層**都會被執行。但是當乙個 .py 檔案作為模組被匯入時,我們可能不希望一部分**被執行。那麼就可以將這部分**的呼叫寫在主程式中。需要在.py檔案中寫上if name == 「main」,再呼叫函式。

條件判斷是通過一條或多條判斷語句的執行結果(true 或者 false)來決定執行的**塊。在python 語法中,使用 if、elif 和 else 三個關鍵字來進行條件判斷。

if…elif…else 語句可以巢狀,也就是把 if…elif…else 結構放在另外乙個if…elif…else 結構中。

迴圈控制,就是讓 程式迴圈執行某一段** 直到 滿足退出的條件,才 退出迴圈。python中是用for和while語句來進行迴圈控制。

當程式從上至下執行時,遇到while迴圈語句,則會判斷表示式是否成立 ,當成立時則會進入while迴圈體內,執行迴圈體內部執行的**塊。直到判斷表示式不成立時 ,則終止迴圈。

break語句:當迴圈體執行的過程中想要退出迴圈體,就可以使用到break語句。

while迴圈還可以增加乙個else從句。當while迴圈正常執行完畢,會執行else語句。

需要注意的是:

while可以巢狀。但是建議不要巢狀3層以上,那樣的效率會很低。

雖然與while一樣都是迴圈的關鍵字,但for迴圈通常用來遍歷可迭代的物件。

在while迴圈中,擁有break與continue語句,那for迴圈中也有break與continue語句,並且作用一致。

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

提高 應用的模組性 與 **的復用性

圓括號中間 可以 放入引數

函式內容以 冒號 起始,並且 縮排。

需要注意的是函式只有在呼叫的時候才會執行。

位置引數也就是實參與形參順序一一對應,而不論變數名。

以形參 = 實參形式指定,不論引數位置。

形參處進行賦值,所以當呼叫時不傳該引數就預設使用形參處的值。當呼叫時傳了該引數,則覆蓋掉預設引數。

當兩個函式之間,想要互相使用到內部變數時,就可以應用到函式的返回值。

python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python 的作用域一共有4種,分別是:

當我們需要在函式內部直接修改全域性變數時,我們可以將函式內部的區域性變數通過 global 關鍵字宣告為全域性變數。

函式中作用域越大,優先順序越小,反之,作用域越小,優先順序越大。

優先順序從高到底依次為:local>enclosing>global>build-in

在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。

遞迴函式特性:

需要注意的是:

go第八講 函式

第一講的時候,我們其實就已經使用到了函式 main函式,不知道大家注意沒有 func function name parameter list return types 函式定 析 func 函式由 func 開始宣告 function name 函式名稱,函式名和引數列表一起構成了函式簽名。par...

第八講 流程控制 迴圈

看完這一講,我本想寫個倒計時,誰很坑,沒寫出來。看到前面摘的timer類了吧,嘗試多次,無果!這裡面,a 和 b的值分別是多少?如果按上面的理解,你應該能知道結果 1,0 good 這個例子是簡單易理解,還有for呢?for int i 0 i 10 i 結果 好理解不?嗯,還好還好!不過還有要注意...

第八講 友元

include include class point int getx int gety friend float dist point a,point b private 私有資料成員 int x,y float dist point a,point b int main class a pri...