Day 01——Task01:變量、運算符與數據類型
Day 02——Task02:條件與循環
Day 03——Task03:列表與元組(上)
Day 04——Task03:列表與元組(下)
Day 05——Task04:字符串與序列
Day 06——Task05:函數與Lambda表達式(上)
Day 07——Task05:函數與Lambda表達式(下)
Day 08——Task06:字典與集合
Day 09——Task07:文件與文件系統(上)
Day 10——Task07:文件與文件系統(下)
Day 11——Task08:異常處理
Day 12——Task09:else 與 with 語句
Day 13——Task10:類與對象(上)
Day 14——Task10:類與對象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模塊
1.條件語句
在Python中,條件語句(也稱爲條件分支語句)與類C語言中的條件語句使用方法大相徑庭,區別在於將大括號包含分支部分改爲縮進分支部分。
1.1.if語句
if 判斷語句1:
執行語句1
elif 判斷語句2:
執行語句2
else:
執行語句3
- 如果 bool(判斷語句1) 爲 True 將執行 “執行語句1” 塊語句
- 如果 bool(判斷語句1) 爲False,將判斷 “判斷語句2”
- 如果 bool(判斷語句2) 爲 True 將執行 “執行語句2” 塊語句
- 如果 bool(判斷語句2) 爲False,將執行"執行語句3"塊語句
注意:
- 每個判斷語句後面要接上冒號 : ,以表示接下來是滿足條件後要執行的語句塊。
- Python 中用 elif 代替了 else if,所以if語句的關鍵字爲:if – elif –elif –…–elif – else
- Python 使用縮進來區分分支部分,因此要特別注意 elif 和 else 的懸掛問題。
1.1.1if語句的簡單語句組
如果你的if語句的分支部分只有一條語句,你可以將該語句與if語句寫在同一行中, 如下所示:
if(100 / 10 == 10): print("Uh...right!")
# Uh...right!
1.2.assert斷言
assert(斷言) 用於判斷一個表達式,在表達式條件爲 False 的時候拋出異常。
assert True # 條件爲 true 正常執行
#
assert False # 條件爲 false 觸發異常
# AssertionError
其等價於
if not expression:
raise AssertionError
常用與程序檢測時置入的檢查點,只有條件爲 True 才能讓程序正常工作。
a = 5
assert a == 5 # 條件爲 true 正常執行
#
assert a == 3 # 條件爲 false 觸發異常
# AssertionError
2.循環語句
不同於類C語言中有3種循環語句,Python只有for語句和whlie語句這2種循環語句,且與類C語言中的循環存在些許差異。
2.1.while循環語句
while 判斷語句:
循環語句
其他語句
當判斷語句爲True時執行循環語句,執行結束後繼續進行判斷語句,若爲True則執行循環語句,直至判斷語句爲False時纔可執行接下來的其他語句。
2.1.1while循環的無限循環
我們可以令判斷語句恆爲 True 來實現無限循環,唯有達成某種條件時break強制跳出循環或者** Ctrl+C **終止程序。無限循環常見於生活中,例如曾經的小遊戲“跳一跳”就是基於此的。
ans = 51
while True:
str = input("輸入一個數字:")
a = int(str)
if(a == ans):
print("猜對了")
break
elif(a > ans):
print("太大了哦~")
else:
print("太小了哦~")
print("遊戲結束~!")
2.1.2while循環的else語句
在 while … else 在判斷語句爲 False 時執行 else 的語句塊。
count = 0
while count < 5:
print (count, " 小於 5")
count = count + 1
else:
print (count, " 大於或等於 5")
# 0 小於 5
# 1 小於 5
# 2 小於 5
# 3 小於 5
# 4 小於 5
# 5 大於或等於 5
2.1.3while循環的簡單語句組
如果while中循環語句只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:
while(True): print("Uh...right!")
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
......
此時需要使用 Ctrl+C 來終止程序。
2.1.4while循環的pass語句
Python pass是空語句,是爲了保持程序結構的完整性。
pass 不做任何事情,一般用做佔位語句,如下實例
while True:
pass
此時程序將卡住,無法執行接下來操作,只能使用 Ctrl+C 來終止程序。
for i in ["C", "C++", "Perl", "Python"] :
if i == "Python":
pass
print ('pass')
print ( i)
print ("Good bye!")
# C
# C++
# Perl
# pass
# Python
# Good bye!
2.2.for循環語句
在Python中, for循環語句與其他類C語言有着很大的差別。
2.2.1for循環語句與in語句
in語句與for循環語句結合,可以做到遍歷in後面所跟的任何序列的項目,如一個列表或者一個字符串。
for i in [1,3,2,4,9,6]:
print(i)
# 1
# 3
# 2
# 4
# 9
# 6
languages = ["C", "C++", "Perl", "Python"]
for i in languages:
print (i)
# C
# C++
# Perl
# Python
2.2.2for循環語句的else語句
同while一樣,在 for … else 在判斷語句爲 False 時執行 else 的語句塊。
for i in [1, 2, 3, 4, 5]:
if(i < 5):
print (i, " 小於 5")
else:
print (i, " 大於或等於 5")
# 0 小於 5
# 1 小於 5
# 2 小於 5
# 3 小於 5
# 4 小於 5
# 5 大於或等於 5
注:當在for循環語句中存在執行break語句時,跳出循環,且不執行else裏面的語句塊。
Language = ["C", "C++", "Python", "Perl"]
for i in Language:
if i == "Python":
print("I got you.")
break
print("Language " + i)
else:
print("Not Language")
print("Done!")
# Language C
# Language C++
# I got you.
# Done!
2.2.3for循環語句的簡單語句組
同while一樣,如果for中循環語句只有一條語句,你可以將該語句與for寫在同一行中, 如下所示:
languages = ["C", "C++", "Perl", "Python"]
for i in languages:print (i)
# C
# C++
# Perl
# Python
因爲for中判斷語句遍歷了languages列表,使用的是類似於next指針的機制,當指向languages列表的最後一個元素時,next返回值爲null,在for判斷語句中爲false,故終止循環。
2.2.4 for循環語句與range()函數
如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列,例如:
for i in range(0,30,3):
if(i % 2 == 0):
print(i)
else:
i += 2
print(i)
# 0
# 5
# 6
# 11
# 12
# 17
# 18
# 23
# 24
# 29
range(a,b,c)爲生成數列[a, a+c, a+2c, … , a+nc],其中a+n*c<b.且在循環體內變量i的改變對循環語句中變量i沒有影響(可理解爲兩個爲不同的變量)。
3.總結
今天的內容較多,同時其內容也是語言中的精髓所在
俗話說的好
~ 沒有條件分支與循環的語言,就彷彿失去靈魂的鹹魚 ~
所以今天的內容要熟記於心纔可以噠~