每次學新的語言,條件語句、循環語句都是一帶而過,因爲基本都是一樣的,除了寫法有些差異。
本以爲Python也是這樣,沒想到還是爲此開了一篇新的筆記。
因爲它的確有獨特之處。
條件控制
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
這個沒太多要說的,只要注意條件語句之後要加冒號。
Note: 條件控制沒有switch… case…語句
循環語句
1. while
while condition:
statement
2. for
for <variable> in <sequence>:
statement
Note: 沒有do … while循環
接下來就是python的獨特之處了。
獨特之處
1. else子句
else在python中有了新的本領,不僅服務於if,還可以配合while, for使用。
# while ... else...
count = 0
while count < 5:
print(count, "小於5")
count = count + 1
else:
print(count, "大於或等於5")
# for ... else ...
animals = ["dog", "cat", "bird", "tiger"]
for x in animals:
print(x)
else:
print("No this animal")
print("end for loop")
雖然合作伙伴多了,但else還是原來的else,與合作伙伴之間形成互斥分支。
- 對於for循環,當窮盡循環列表時進入else分支。
- 對於while循環,當循環條件(變)爲false時進入else分支。
但是如果進入循環,被break終止,則不會進入else分支。
2. range()函數
內置函數range()用來遍歷整數序列。
用幾個例子來說明range()的使用方法:
# 示例1
>>>for i in range(5):
... print(i, end = " ")
...
0 1 2 3 4 5
# 示例2, 指定區間
>>>for i in range(5, 9):
... print(i, end = " ")
...
5 6 7 8
# 示例3, 指定區間和步長
>>>for i in range(0, 10, 3)
... print(i, end = " ")
...
0 3 6 9
# 示例4, 負數
>>>for i in range(-10, -100, -30)
... print(i, end = " ")
...
-10 -40 -70
# 示例5, 遍歷序列的索引
>>>animals = ["dog", "cat", "bird", "tiger"]
>>>for i in range(len(animals)):
... print(i, a[i])
...
0 dog
1 cat
2 bird
3 tiger
# range()還可以用來創建序列
# 創建list
>>>list(range(5))
[0, 1, 2, 3, 4]
# 創建元組
>>>tuple(range(5))
(0, 1, 2, 3, 4)
# 創建集合
>>>set(range(5))
{0, 1, 2, 3, 4}
3. pass語句
pass是空語句,不做任何事情。作用是保持程序結構的完整性,一般用做佔位語句。
# 等待鍵盤中斷
>>>while True:
... pass
如果定義了一個函數,還沒想好函數內容,就可以用pass填充,留到以後再補充。
pass避免了空函數體或空語句塊報錯。