[9] Python句式特徵

1. 概述

今天我們要簡單看一下Python的句式特徵。加粗體代表我們已經介紹的內容,斜體代表新增內容。

  • 計算機編程的原理簡要介紹
  • 集成開發環境PyCharm
  • 變數名、數字、字元串、列表
  • 句式
  • 輸入和輸出
  • 條件判斷語句
  • 循環語句
  • 注釋
  • 函數
  • 模塊和引入
  • 各類數據結構

2. 分號

很多語言都有分號,表示一行代碼打完了,分號結個尾。我們有時候打了很多代碼,最後會莫名其妙運行不出,調試了半天發現少了個分號,那心情簡直酸爽。但是Python語言的優點是,換行不需要分號,要加分號也行,但是不需要!

print("Python does not need semicolon")nprint("Hooray!!!!")n

但是有時候我們也會用到分號,你如果把多行代碼硬要放在一行上,我們就要用分號隔開,告訴編譯器這是兩個代碼要分開編譯。

print("Python does not need semicolon"); print("Hooray!!!!")n

這兩段代碼是完全一樣的,但是分成兩行比較好看一點。

3. 過長的代碼

對於過長的代碼,我們可以分幾行打,用單個後斜杠標註,表示下面的還是屬於這個公式的。

a_long_name = 100na_longer_name = 1000nthis_is_even_longer = 10000000nbigger_than_bigger = 9999999999nnthe_result_of_the_four_variables = a_long_name n + a_longer_name n + this_is_even_longer n + bigger_than_biggern

後斜杠還有另一個作用,在字元串中,如果太長了,我們可以用單個後斜杠來在代碼上換行,但不更改內容。

lorem_ipsum = "Lorem ipsum dolor sit amet, " n "consectetur adipiscing elit, " n "sed do eiusmod tempor incididunt " n "ut labore et dolore magna aliqua." n " Ut enim ad minim veniam, q" n "uis nostrud exercitation ullam" n "co laboris nisi ut aliqui" n "p ex ea commodo consequat. D" n "uis aute irure dolor in repre" n "henderit in voluptate velit esse " n "cillum dolore eu fugiat nulla p" n "ariatur. Excepteur sint occaec" n "at cupidatat non proident, sun" n "t in culpa qui officia deserunt " n "mollit anim id est laborum."n

我們可以在任何地方隔開,甚至把單詞隔開,並不影響內容,這段代碼其實和沒分開擠在一行是一樣的,print之後長這樣

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.n

但是我並不建議分開的時候把單詞隔開,大家還是最好遵守字元串中語言的規則,不要影響其閱讀性。

另外,有時候我們會使用函數,向其放置參數時,代碼一下子變長了怎麼辦,我們只需要回車就行啦,變數名別斷就行,逗號隨便放,

def add_or_sub(a, b, c):n if c == 0:n print(a + b)n else:n print(a - b)nnnif __name__ == "__main__":n first_number = 8n second_number = 6n operation_add = 0n operation_sub = 1nn add_or_sub(first_number,n second_number,n operation_sub)n add_or_sub(first_numbern , second_number,n operation_add)n

這段代碼看不懂的同學不要緊,以後會看懂,這裡主要是講如果代碼太長了怎麼分行看著工整一些,如果你像我一樣懶癌晚期,閑手動美化太麻煩,我們可以用萬能的PyCharm,

Mac上是alt+command+L,Windows應該也差不多,具體可以看藍色高亮行後面的熱鍵。

4. 冒號和縮進

我們終於要講縮進啦!Python的一大特徵就是縮進,像C、Java等語言,都會有大括弧來表示這一塊代碼該何時運行,而Python則用冒號和縮進程度來表示哪塊屬於哪塊。

我們來看一段代碼,

def add_or_sub(a, b, c):n if c == 0:n result = a + bn answer_text = "sum is " + str(result)n print(answer_text)n else:n result = a - bn answer_text = "difference is " + str(result)n print(answer_text)n print("Thank you for using add_or_sub.")n

我們這裡主要任務是看那段代碼歸哪個冒號管。基本原則是,有冒號那行管所有比該行更縮進的語句塊,直到縮進結束。同級別的語句塊縮進程度相同,都是四個空格,PyCharm比較智能,都自動縮進縮出,還有線幫我們對齊,所以大家不用過於擔心幾個空格的問題。

首先,

def add_or_sub(a, b, c):n

定義一個函數,我們可以看到接下來所有代碼都比該行縮進,也就是說接下來所有代碼都在這個函數地下,歸這函數管。

if c == 0:n

如果c是0的話,那麼我們就運行接下來縮進的代碼,直到縮進結束,也就是:

result = a + bn answer_text = "sum is " + str(result)n print(answer_text)n

我們看見else這邊和if這行又是同一個縮進級別了,運行了if就不運行else底下的代碼,

else:n

管理的是比else這個更縮進的語句塊,也就是接下來三行。

result = a - bn answer_text = "difference is " + str(result)n print(answer_text)n

至於最後一行,我們可以看到它和if、else是同一個縮進級別的,也就是官位一樣,那麼我們在運行這個函數的時候,運行完if、else的條件判斷後,此行也會被運行。

我們來練習幾段代碼:

a = 3nif a < 2:n print("a is less than two")n print("a is a small number")n

如果a小於2,則會顯示這兩句print,這兩句話歸if這個冒號管理,但是因為a是3,並不小於2,則這兩句話就不會顯示了,運行該代碼啥也不顯示。

a = 3nif a < 2:n print("a is less than two")nprint("a is a small number")n

而這裡,我把print("a is a small number")這行前面的空格都刪了,縮進程度相當於if,也就是如果a<2,print("a is less than two"),這個if並不管到最後一行print,也就是說不論a大於2小於2等於2,"a is a small number"這句話肯定會顯示。

運行結果為

a is a small numbern

接下來我會介紹條件判斷語句,也就是if elif else,我也會介紹流程圖、正誤表和各種布爾型的操作。可以說到此為止我們學的都是各種零零碎碎的內容,接下來就是要開始運用邏輯、整合我們已學知識來進行Python的編寫和學習。


推薦閱讀:

TAG:Python | 计算机科学 | 编程 |