1.條件控制(if語句)
條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊
if 語句
用 elif 代替了 else if
if...elif...else
if condition_1(條件1): statement_block_1 # 如果 "condition_1" 為 True 將執行 "statement_block_1" 塊語句 elif condition_2: statement_block_2 else: statement_block_3
if 嵌套
if 表達式1: 語句 if 表達式2: 語句 elif 表達式3: 語句 else: 語句 elif 表達式4: 語句 else: 語句
2.循環語句 (while 和 for)
while 循環
while 判斷條件: 語句
無限循環
var = 1 while var == 1 : # 設置條件表達式永遠為 true 來實現無限循環
while 循環使用 else 語句
在 while … else 在條件語句為 false 時執行 else 的語句塊:
while a < 5: print (a, " 小於 5") # 當條件 a< 5 為True時執行 else: print (a, " 大於或等於 5") # 當條件 a< 5 為True時執行
for 語句
for循環可以遍歷任何序列的項目,如一個列表(['Google', 'Runoob', 1997, 2000])或者一個字符串("abcdefg")。
for循環的一般格式如下:
for <variable(變量)> in <sequence(序列)>: <statements(聲明,結果)> else: <statements>
實例:
>>>languages = ["C", "C++", "Perl", "Python"] >>> for x in languages: ... print (x) ... C C++ Perl Python
range()函數
注意:range()區間是左閉右開,range(2,2)是空的!
range(2)是 從0開始算:0 1 相當於range(0,2)
1.如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列:
>>>for i in range(5): ... print(i) ... 0 1 2 3 4
2.使用range指定區間的值:
>>>for i in range(5,9) : # range()區間是左閉右開 print(i) 5 6 7 8
3.使range以指定數字開始並指定不同的增量(甚至可以是負數,有時這也叫做'步長'):
>>>for i in range(0, 10, 3) : print(i) 0 3 6 9 負數 >>>for i in range(-10, -100, -30) : print(i) -10 -40 -70
4.結合range()和len()函數以遍歷一個序列的索引
Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。
>>>str = "runoob" >>> len(str) # 字符串長度 6 >>> l = [1,2,3,4,5] >>> len(l) # 列表元素個數 5
實例:
其中:len(a) 是 6
range(len(a)) 是 0 1 2 3 4 5
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Runoob 3 Taobao 4 QQ
5.使用range()函數來創建一個列表
>>list(range(5))
[0, 1, 2, 3, 4]
6.求1-100 的和:
>>> sum(range(101))
5050
"break和continue語句及循環中的else子句"
break 語句可以跳出 for 和 while 的循環體
#!/usr/bin/python3 for letter in 'Runoob': # 第一個實例 if letter == 'b': break print ('當前字母為 :', letter) var = 10 # 第二個實例 while var > 0: print ('當期變量值為 :', var) var = var -1 if var == 5: break print ("Good bye!")
輸出:
當前字母為 : R 當前字母為 : u 當前字母為 : n 當前字母為 : o 當前字母為 : o 當期變量值為 : 10 當期變量值為 : 9 當期變量值為 : 8 當期變量值為 : 7 當期變量值為 : 6 Good bye!
continue語句被用來告訴Python跳過當前循環塊中(比如n = 1)的剩余語句( 就是放棄執行n = 1 這個循環),然后繼續進行下一輪循環(n = 2)。
#!/usr/bin/python3 for var in "abccccccde": # 第一個實例 if var == "c": # 字母為 c 時跳過輸出 continue print("當前字母為:",var) var = 10 # 第二個實例 while var > 0: var = var -1 if var == 5: # 變量為 5 時跳過輸出 continue print ('當前變量值 :', var) print ("Good bye!")
當前字母 : a 當前字母 : b 當前字母 : d 當前字母 : e 當前變量值 : 9 當前變量值 : 8 當前變量值 : 7 當前變量值 : 6 當前變量值 : 4 當前變量值 : 3 當前變量值 : 2 當前變量值 : 1 當前變量值 : 0 Good bye!
循環語句可以有 else 子句,它在窮盡列表(以for循環)或條件變為 false (以while循環)導致循環終止時被執行,但循環被break終止時不執行。
pass 語句
Python pass就是一條空語句。在代碼段中或定義函數的時候,如果沒有內容,或者先不做任何處理,直接跳過,就可以使用pass。
作用:pass只是為了防止語法錯誤:
>>if a>1: pass #如果沒有內容,可以先寫pass,但是如果不寫pass,就會語法錯誤
>>while True: pass # 等待鍵盤中斷 (Ctrl+C)
enumerate 函數(枚舉)
使用內置 enumerate 函數進行遍歷
for index, item in enumerate(sequence): # enumerate 枚舉
process(index, item) # sequence 序列
>>> sequence = [12, 34, 34, 23, 45, 76, 89] >>> for i, j in enumerate(sequence): ... print(i, j) ... 0 12 1 34 2 34 3 23 4 45 5 76 6 89