教學是對知識的二次加工。
筆者希望自己對python程式設計知識的加工處理,能對讀者產生作用。
這次寫些基礎概念,Python語言基本語法元素。
格式框架:註釋、縮排、續行符
先來看看筆者寫的簡單程式碼(pycharm環境下)
貨幣兌換1。0:
貨幣兌換3。0中的部分程式碼:
對比兩個程式碼部分。
註釋
貨幣兌換1。0 圖中,有以三引號引用的綠色部分,類似描述性的資訊就是註釋。註釋,會被計算機忽略,你寫程式碼的時候,可以透過註釋表明作者和版權資訊,或者解釋程式碼原理及用途。
註釋也可以理解為程式編寫者對程式程式碼的一種標記,這樣以後翻看程式碼,透過標記可以迅速理解程式碼。
然後兩個圖都有部分灰色的程式碼,以#號為起始,這些#號開始的灰色文字也屬於註釋。這是行內註釋,寫在程式碼後面或在空行上。同樣是不被執行的程式碼。
縮排
Python有一個很好的格式框架,得益於python透過縮減來劃分語句程式碼塊。
一次縮排可以透過4個空格或者Tab鍵來完成。在pycharm中,如果程式碼需要縮排時,在你換行後就自動增加縮進了。
貨幣兌換1。0 圖中可執行程式碼都是沒有縮排的,即都是從左側開始寫的程式碼,程式碼前面沒有任何的空格。
同一縮減級別的程式碼,都是從上到下執行的。所以貨幣兌換1。0 中就是從上到下執行4行程式碼。
重頭戲在貨幣兌換3。0 部分程式碼圖,這裡存在縮排。
中間的空行是筆者個人習慣,可以把不同的程式碼功能塊稍微分開。
主要看if分支結構裡面的縮排。
上圖我們可以看到沒有縮排的三個關鍵字:if elif else 。這三者都沒有縮排,所以這三者在python語言裡面是同級的。
當然,這裡if elif else是一個結構。
if 條件1成立,執行程式碼塊1; elif 條件2成立,執行程式碼塊2; else 上述條件均不成立,執行程式碼塊3。
其中條件1和條件2 在if 及 elif 程式碼那一行。程式碼塊1就是if行下一行起的所有縮排部分程式碼,如圖if 和elif間的同一縮排的4行程式碼,即為程式碼塊1。
縮排級別可以分為無縮排,縮排1次,縮排2次……縮排相同的程式碼級別相同。有些像郵政地址,中國,廣東省,深圳市……if elif else下的語句塊也是同級的,假如執行的程式碼塊1,程式碼塊2和程式碼塊3就不被執行。
在更復雜的程式碼中,程式碼塊1裡面也可以存著if結構,if下也有縮排後的程式碼塊。
python透過巢狀不同級別的縮排來劃分程式碼塊的歸屬。
上圖是筆者另一個程式碼,可以看到有三個級別的縮排,無縮排,縮排1次,縮排2次。
其中程式碼
i -= 1
continue
歸屬於if
而程式碼
if byte_left[i] == 0:
i -= 1
continue
byte_str += str(byte_left[i]) + “ ” + unit_str[i] + “ ”
i -= 1
歸屬於while。
續行符
不知道大家有沒注意到上面的if elif else 結構中有一個特殊的縮排。
在elif中,條件語句被截斷了兩截,還換到下一行了。這裡的\就可以把語句截成兩截,後面的內容換到下一行,換行後的部分會預設異常縮排。
換行不是必要的,換行的作用是方便長程式碼在一個頁面裡的完整顯示。
比如一句3米長的程式碼,你可以用\把它切成6段,每段大約50釐米,這樣你就有可能在顯示器上一下看到整個程式碼,而不用拉捲軸拉半天。