Python 提供了 if、else、elif 三種語法來處理大量的邏輯判斷運算和流程控制
if <條件1>:
# 符合條件時要做的事
else:
# 不符合條件時要做的事
if 寫完之後接冒號、下一行縮排後開始寫要做什麼事情。注意 else 是否則的意思不用寫條件
如果需要用到多層條件,就會用到 elif(否則如果)
if <條件1>:
# 符合條件1時要做的事
elif <條件2>:
# 符合條件2時要做的事
else:
# 不符合條件1及條件2時要做的事
在程式執行的過程中,有時候會重複執行一些相同的運算,這時可以使用「迴圈」來處理這些重複且相同的程式碼,大幅增加程式的可閱讀性以及撰寫程式的效率
「for 迴圈」的使用的方法為for 變數 in 可迭代的物件:
,執行之後,for 迴圈會依序將可以迭代的物件取出,賦值給指定的變數
for i in range(1, 10, 2):
print("{:^9}".format("*" * i))
*
***
*****
*******
*********
如果將 for 迴圈放在 for 迴圈裡,就會形成「巢狀迴圈」,巢狀迴圈會先從「最內層」的迴圈開始執行,執行完畢後再執行外層的迴圈
for i in range(0, 3):
for j in range(1, 10, 2):
print("{:^9}".format("*" * j))
*
***
*****
*******
*********
*
***
*****
*******
*********
*
***
*****
*******
*********
「while 迴圈」是根據條件判斷,決定是否重複或停止的迴圈,用法為while 條件:
,如果條件判斷為 True,就會不斷執行迴圈內容,如果判斷為 False,就會停止迴圈
i = 1
while i < 10:
print("{:^9}".format("*" * i))
i += 2
*
***
*****
*******
*********
函數是預先建構好的可重復使用的,用來實現單一或相關聯功能的程式碼,能提高應用的模塊性,和程式碼的重複利用率。Python 本身提供了許多內建函數,比如 print(),但也可以自己創建函數,這被叫做用戶自定義函數。
def add(a, b):
ans = a + b
return ans
print(add(3, 4))
7
函式以 def 關鍵字定義,並以 return 將結果輸出。
一個函式只應該做好一件事情,太複雜拆開減少耦合,引數原則至多讓使用者輸入 2 個。
*args 這個數值可透過使用者自定義輸入,透過 * 收集的引數會被放到一個叫 args 的元組 (tuple)中,所以我們可以使用 for 迴圈來對它進行迭代。
使用 *args 的好處是我們當今天不確定預先輸入至函式的變數有多少時,我們可以透過這個方法來避免輸入至函式的變數比預先設定的多,導至報錯。
def add(*args):
ans = 0
print(args)
for i in args:
ans += i
return ans
print(add(3, 4, 5, 6, 7, 8, 9, 10))
(3, 4, 5, 6, 7, 8, 9, 10)
52
**kwargs 會自己把它拆開將有指定的參數變成 dict 格式。
def test(**kwargs):
print(kwargs)
test(name="a", age="20")
{'name': 'a', 'age': '20'}
概括的說一個 * 號類似於將資料蒐集存成 turple ,兩個 * 號則是蒐集完並且存成 dict。