好程序員分享Python自動化運維開發實戰 6、流程控制python
Python條件語句是經過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。程序員
Python程序語言指定任何非0和非空(null)值爲true,0 或者 null爲false。express
if 語句用於控制程序的執行,基本形式爲:app
if 判斷條件: 執行語句…… else: 執行語句……
其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容能夠多行,以縮進來區分表示同一範圍。less
else 爲可選語句,當須要在條件不成立時執行內容則能夠執行相關語句運維
if 語句的判斷條件能夠用>、<、==、>=、<=來表示其關係。函數
當判斷條件爲多個值時,可使用如下形式:ui
if 判斷條件1: 執行語句1…… elif 判斷條件2: 執行語句2…… elif 判斷條件3: 執行語句3…… else: 執行語句4……
因爲 python 並不支持 switch 語句,因此多個條件判斷,只能用 elif 來實現。spa
若是判斷須要多個條件需同時判斷時,可使用 or (或),表示兩個條件有一個成立時判斷條件成功;code
使用 and (與)時,表示只有兩個條件同時成立的狀況下,判斷條件才成功。
#!/usr/bin/python num = 9 if num >= 0 and num <= 10: print 'hello' num = 10 if num < 0 or num > 10: print 'hello' else: print 'undefine' num = 8 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print 'hello' else: print 'undefine'
你也能夠在同一行的位置上使用if條件判斷語句,以下實例:
var = 100 if ( var == 100 ) : print "變量 var 的值爲100" print "Good bye!"
循環語句容許咱們執行一個語句或語句組屢次
Python提供了for循環和while循環(在Python中沒有do..while循環):
while 循環 在給定的判斷條件爲 true 時執行循環體,不然退出循環體。 for 循環 重複執行語句 嵌套循環 你能夠在while循環體中嵌套for循環
循環控制語句能夠更改語句執行的順序。Python支持如下循環控制語句:
break 語句 在語句塊執行過程當中終止循環,而且跳出整個循環 continue 語句 在語句塊執行過程當中終止當前循環,跳出該次循環,執行下一次循環。 pass 語句 pass是空語句,是爲了保持程序結構的完整性。
基本形式爲:
while 判斷條件: 執行語句……
執行語句能夠是單個語句或語句塊。判斷條件能夠是任何表達式,任何非零、或非空(null)的值均爲true。
當判斷條件假false時,循環結束。
實例: #!/usr/bin/python count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!"
continue 用於跳過該次循環,break 則是用於退出循環,此外"判斷條件"還能夠是個常值,表示循環一定成立,具體用法以下:
# continue 和 break 用法 i = 1 while i < 10: i += 1 if i%2 > 0: # 非雙數時跳過輸出 continue print i # 輸出雙數二、四、六、八、10 i = 1 while 1: # 循環條件爲1一定成立 print i # 輸出1~10 i += 1 if i > 10: # 當i大於10時跳出循環 break
無限循環
若是條件判斷語句永遠爲 true,循環將會無限的執行下去,以下實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var == 1 : # 該條件永遠爲true,循環將無限執行下去 num = raw_input("Enter a number :") print "You entered: ", num print "Good bye!"
循環使用 else 語句
在 python 循環裏,else 中的語句會在循環正常執行完,即循環不是經過 break 跳出而中斷的狀況下執行
#!/usr/bin/python count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
簡單while語句組
相似if語句的語法,若是你的while循環體中只有一條語句,你能夠將該語句與while寫在同一行中, 以下所示:
flag = 1 while (flag): print 'Given flag is really true!'
Python for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。
for循環的語法格式以下:
for iterating_var in sequence: statements(s)
實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python': print '當前字母 :', letter fruits = ['banana', 'apple', 'mango'] for fruit in fruits: print '當前字母 :', fruit 以上實例輸出結果: 當前字母 : P 當前字母 : y 當前字母 : t 當前字母 : h 當前字母 : o 當前字母 : n 當前字母 : banana 當前字母 : apple 當前字母 : mango
經過序列索引迭代
另一種執行循環的遍歷方式是經過索引,以下實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print '當前水果 :', fruits[index]
以上實例輸出結果:
當前水果 : banana 當前水果 : apple 當前水果 : mango
以上實例咱們使用了內置函數 len() 和 range(),函數 len() 返回列表的長度,即元素的個數。 range返回一個序列的數。
循環使用 else 語句
以下實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- for num in range(10,20): # 迭代 10 到 20 之間的數字 for i in range(2,num): # 根據因子迭代 if num%i == 0: # 肯定第一個因子 j=num/i # 計算第二個因子 print '%d 等於 %d * %d' % (num,i,j) break # 跳出當前循環 else: # 循環的 else 部分 print num, '是一個質數'
以上實例輸出結果:
10 等於 2 * 5 11 是一個質數 12 等於 2 * 6 13 是一個質數 14 等於 2 * 7 15 等於 3 * 5 16 等於 2 * 8 17 是一個質數 18 等於 2 * 9 19 是一個質數
Python 語言容許在一個循環體裏面嵌入另外一個循環。
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
while expression: while expression: statement(s) statement(s)
continue 語句跳出本次循環,而break跳出整個循環。
continue 語句用來告訴Python跳過當前循環的剩餘語句,而後繼續進行下一輪循環。
Python pass是空語句,是爲了保持程序結構的完整性。
pass 不作任何事情,通常用作佔位語句。
Python 語言 pass 語句語法格式以下:
pass
實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 輸出 Python 的每一個字母 for letter in 'Python': if letter == 'h': pass print '這是 pass 塊' print '當前字母 :', letter print "Good bye!"
以上實例執行結果:
當前字母 : P 當前字母 : y 當前字母 : t 這是 pass 塊 當前字母 : h 當前字母 : o 當前字母 : n