第3章 程式控制結構與函式設計

2021-09-25 04:18:13 字數 2195 閱讀 4074

在python中,**的縮排非常重要,縮排是體現**邏輯關係的重要方式,同乙個**塊必須保證相同的縮排量。

1.單分支選擇結構

if 表示式 :

語句塊

表示式後面的冒號「 ;」是不可缺少的,表示乙個語句塊的開始
2.雙分支選擇結構

if 表示式:

語句塊1

else:

語句塊2

python還提供了乙個三元運算子

value1 if condition else value2

當條件表示式condition的值與true等價時,表示式的值為value1,否則表示式的

值為value2.

3.多分支選擇結構

if 表示式 1:

語句塊1

elif 表示式2:

語句塊2

elif 表示式3:

語句塊3

:else:

語句塊n

4.選擇結構的巢狀

if 表示式 1:

語句塊1

if 表示式 2 :

語句塊2

else:

語句塊3

else:

if 表示式 4:

語句塊 4

while 條件表示式:

迴圈體[ else :

else 子句**塊]

和for 取值 in 序列或迭代物件:

迴圈體[else :

else子句**塊]

break語句結束所屬層次的迴圈

continue提前結束本次迴圈,忽略continue之後的語句,直接回到迴圈頂端,進入下一次迴圈。

def 函式名 ([引數列表]):

『『『注釋』』』

函式體

函式形參不需要宣告其型別,也不需要指定函式的返回值型別

即時該函式不需要接收任何引數,也必須保留一對空的圓括號

括號後面的冒號必不可少

函式體相對於def關鍵字必須保持一定的空格縮排

注釋的兩種方式:符號#,不屬於任何語句的一對三引號

如果傳遞給函式的是python可變序列,並且在函式內部使用下標或序列自身支援的方式為可變序列增加、刪除元素或修改元素值時,修改後的結果是可以反映到函式之外的,即實參也得到了相應的修改。

1.預設值引數

2.關鍵引數

關鍵引數指呼叫函式時的引數傳遞方式,與函式定義無關。通過關鍵引數可以按引數名字傳遞值,實參順序可以和形參順序不一致,但不影響引數值的傳遞結果。

eg:>>>def demo(a,b,c=5):

print(a,b,c)

>>>demo(c=8,a=9,b=0)

9 0 8

3.可變長度引數

兩種形式; *parameter和 **parameter

前者用來接收任意多個實參並將其放在乙個元組中,後者接收類似於關鍵引數一樣顯示賦值形式的多個實參並將其放入字典中

4.傳遞引數時的序列解包

呼叫含有多個引數的函式時,可以用python列表、元組、集合、字典以及其他可迭代物件作為實參,並在實參名稱前加乙個星號,python直譯器將自動進行解包,然後傳遞給多個單變數形參。

eg:>>>def demo(a,b,c):

print(a+b+c)

>>>seq=[1,2,3]

>>>demo(*seq)

6在函式內部定義的變數一般為區域性變數,在函式外部定義的變數為全域性變數。

1.在函式內部通過global關鍵字可以宣告或定義全域性變數。

2. 如果區域性變數與全域性變數具有相同的名字,那麼該區域性變數會在自己的作用域內隱藏同名的全域性變數

eg:>>>def demo():

x=3print(x)

x=5print(x)

5demo()

3print(x)

53.優先考慮區域性變數區域性變數的空間是在棧上分配的。

lambda表示式常用來宣告匿名函式,即沒有函式名字的臨時使用的小函式,例如第2章中列表物件的sort()方法以及內建函式,即沒有函式名字的臨時使用的小函式。

lambda表示式只可以包含乙個表示式,不允許包含其他複雜的語句,但在表示式中可以呼叫其他函式,並支援預設值引數和關鍵引數,該表示式的計算結果相當於函式的返回值。

在使用lambda表示式時,要注意變數作用域可能帶來的問題。

3章 程式流程控制

運算子 和 分別是短路和 短路或運算子。if 和 if else 語句用於條件選擇。switch語句由乙個到多個case語句組成。switch語句中的值可以是byte shot int,或 char型別。case語句的值必須是乙個常量表示式或字面量。while迴圈用於重複執行任務。while迴圈體中...

第二章 程式控制結構

if語句是用來判定所給定的條件是否滿足,根據判定的結果 真或假 決定執行給出的兩種操作之一。if語句的三種形式 格式 if expression 格式 if expression 形式三 格式 說明 if後面的表示式型別任意 語句可以是復合語句 例2 輸入兩個實數,按數值由小到大的次序輸出這兩個數。...

第二章 程式控制結構

2.1 選擇控制 2.1.1 if語句 if語句是用來判定所給定的條件是否滿足,根據判定的結果 真或假 決定執行給出 的兩種操作之一。形式1 格式 if expression statement1 else statement2 例如 if x y max x else max y 形式2 格式 i...