上一節講解了Python的數據類型和運算,本節將繼續深刻,涉及Python的語句結構,至關於Python的語法,是之後編寫程序的重要基礎!編程
順序語句很好理解,就是按程序的順序邏輯編寫程序便可,例如:ide
1 name = input('Please input your name:') 2 3 print('I am ', name)
Please input your name:MinuteSheep
I am MinuteSheep
上面代碼展現了很標準的順序語句,邏輯結構以下:工具
每當你的程序須要作出選擇,就要使用條件語句了,條件語句經過判斷條件的真假來決定執行的代碼塊,先來看條件語句的邏輯結構:spa
由上圖能夠看到,當條件爲True是,執行語句1和語句2,當條件爲False時,只執行語句2,這就是條件語句的迷人之處3d
細心的小夥伴可能已經發現上面的新名詞:代碼塊。每一種編程語句都有其獨特的代碼塊,在Python中,用縮進來控制代碼塊code
1 name = input('Please input your name:') 2 3 if name == 'MinuteSheep': 4 print('Your are MS') 5 print('Your are the best man in the world!') 6 else: 7 print('Your are not MS')
從上面的代碼中能夠明顯的看出代碼塊的存在,第4行和第5行是條件爲真的代碼塊,第7行是條件爲假的代碼塊。blog
在Python中,用4個空格或者Tab來縮進,但要注意:整個程序中只能使用一種縮進格式,不能混着使用,不然會提示縮進錯誤。element
鋪墊了這麼多,也該引出Python條件語句的語法了吧。在Python中,條件語句使用 if......else...... 格式表示條件語句,其形式爲:字符串
if 判斷條件: 條件爲真代碼塊 else: 條件爲假代碼塊
其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:input
1 name = input('Please input your name:') # 輸入你的名字 2 3 if name == 'MinuteSheep': # 判斷變量name是否爲MinuteSheep 4 print('Your are MS') # 條件爲真則執行 5 print('Your are the best man in the world!') # 條件爲真則執行 6 else: 7 print('Your are not MS') # 條件爲假則執行
Please input your name:MinuteSheep Your are MS Your are the best man in the world!
1 flag = True 2 3 if flag: # 判單flag是否爲真,也能夠寫爲 if flag == True: 4 print('flag is True') 5 # 條件爲假時不須要執行任何代碼,則else忽略不寫
flag is True
有小夥伴確定會問,須要判斷多個條件時豈不是要寫多個 if 語句。其實在Python中,多條件的判斷是有其獨特的語法的,使用 if......elif......elif......else...... 便可,其形式爲:
if 判斷條件1: 條件爲真代碼塊 elif 判斷條件2: 條件爲真代碼塊 elif 判斷條件3: 條件爲真代碼塊 else: 條件爲假代碼塊
其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:
1 num = 20 2 3 if num > 30: 4 print('>30') 5 elif num > 20: 6 print('>20') 7 elif num > 10: 8 print('>10') 9 else: 10 print('<=10')
>10
條件語句是能夠嵌套的,在實際使用中應該靈活應用:
1 num = 20 2 3 if num > 10: 4 print('>10') 5 if num > 15: 6 print('>15') 7 if num > 18: 8 print('>18')
>10 >15 >18
條件爲真的結果 if 判斷條件 else 條件爲假的結果
舉例就明白了:
1 num = 1 if 1 > 2 else 5 2 ''' 3 至關於: 4 if 1 > 2: 5 num = 1 6 else: 7 num = 5 8 ''' 9 print(num) # 結果爲 5
對於小代碼塊能夠寫在一行,更加美觀,例如:
1 num = 100 2 3 if num == 100: print('Hello,world!')
雖然美觀,但並不推薦你們使用
循環語句的出現,能夠說是真正的解放人力,計算機的優點很大程度上依賴循環,先來看看循環語句的邏輯結構:
從上圖能夠看出,只要循環條件爲真,那麼循環語句就會被執行屢次,Python語言中存在兩種循環,一塊兒來看看吧
for循環主要起到遍歷元素的做用,第一次接觸可能以爲怪怪的,不要擔憂,用熟了你就會發現for循環很是方便,先來看個例子:
1 for num in range(10): # 遍歷整數, 2 print(num) 3 4 for letter in 'MinuteSheep': # 遍歷字符串 5 print(letter) 6 7 for element in ['Python', 'C', 'Java']: # 遍歷列表 8 print(element)
0 1 2 3 4 5 6 7 8 9 M i n u t e S h e e p Python C Java
從上面代碼能夠看到for循環做爲迭代工具使用至關強大。
for循環能夠和else配合使用,else的代碼塊會在for循環結束後執行,例如:
1 for element in ['Python', 'C', 'Java']: # 遍歷列表 2 print(element) 3 else: 4 print('Bye~')
Python
C
Java
Bye~
對於上面的代碼,萌新確定還有疑問,爲何是num、letter、element? 關鍵字 in 是什麼?
num、letter、element是本身隨便起的變量名,能夠更改,換成 i、p隨便什麼都行,只要符合變量的命名規則就行,關鍵字 in ,就是在裏面的意思,用代碼解釋更容易理解:
In [1]: 5 in range(10) Out[1]: True In [2]: 'MS' in ['MinuteSheep', 'Mike'] Out[2]: False In [3]: 'MS' in 'MinuteSheep' Out[3]: False In [4]: 'Mi' in 'MinuteSheep' Out[4]: True
經過這段代碼應該就能夠理解了
while循環是真循環,而不像for循環主要起遍歷做用,其形式爲:
while 循環條件: 條件爲真代碼塊 else: 條件爲假代碼塊
其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:
1 num = 5 2 3 while num < 10: 4 print('條件爲真,執行我') 5 num += 1 6 else: 7 print('條件爲假,該執行我了')
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲假,該執行我了
無限循環:在Python中,使用 while True: 循環內容 便可實現無限循環:
1 num = 0 2 while True: 3 num += 1 4 print(num)
執行後就會發現屏幕上不停的跑數字而不會中止,想要中止按下鍵盤 Ctrl + C 來強制中止。
while循環也有簡單語句組,一樣也不推薦使用
循環語句之間也是能夠嵌套的,兩種循環語句既能夠獨立嵌套,也能夠互相嵌套,看例:
1 # for循環嵌套 2 for i in range(10): 3 for p in range(5): 4 print(p) 5 6 # 能夠看到輸出了10次0,1,2,3,4
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
# while循環嵌套
1 num = 5 2 while num < 7: 3 while num < 6: 4 print('hello~~~') 5 num += 1 6 print('hi~~~~') 7 num += 1
hello~~~
hi~~~~
1 # while 和 for 循環嵌套 2 num = 5 3 while num < 8: 4 for i in range(3): 5 print(i) 6 num +=1 7 8 # 能夠看到輸出了3次0,1,2
0 1 2 0 1 2 0 1 2
以上就是循環的嵌套,在實際運用中應該靈活使用循環的嵌套,每每會帶來事半功倍的效果!
接下來的三個關鍵字起到循環控制的做用,分別是break,continue,pass
中斷循環,也稱爲跳出循環、結束循環,在循環過程當中,遇到break,就會跳出這個循環,看例:
1 num = 0 2 3 while True: 4 if num > 3: 5 print('我要跳出循環啦') 6 break 7 print('我正在循環') 8 num += 1
我正在循環
我正在循環
我正在循環
我正在循環
我要跳出循環啦
由上面代碼能夠看到,循環過程當中一但遇到break,就會跳出此循環,即便是無限循環也不頂用
繼續循環,也成爲跳過本次循環,在循環過程當中,遇到continue,會跳過本次循環,繼續下一次循環,看例:
1 num = 0 2 3 while num < 5: 4 num += 1 5 if num > 3: 6 print('我要跳過一次循環啦') 7 continue 8 print('我正在循環')
我正在循環
我正在循環
我正在循環
我要跳過一次循環啦
我要跳過一次循環啦
由上面代碼能夠看到,有兩次循環被跳過,只輸出了3次「我正在循環」,也能夠看到continue並不會跳出循環,循環還會繼續執行
空語句實際上是有語句的,pass表明空語句,程序遇到pass什麼也不會執行,僅僅是路過,有時爲了保持程序的美觀、完整性,一般會用pass佔位,有時沒想好程序怎麼寫,也用pass佔位,什麼都不寫的話程序會報錯,就好像寫做文想好了小標題,卻沒想好內容寫什麼的時候,能夠用pass代替內容,想好後再做修改。