DevOps-Programming Basics with Python 4

Variables | Functions

ZONGRU Li
May 22, 2023

Variables

考量到以下秒數計算

也就是不同的天數要重複性地做運算才能得到秒數

最方便的是把後面的運算取為變數(Variables)如下

這邊有兩點需要注意:

1.Python is dynamically typed(也就是變數前面不用加型別)

2.Naming Convention(通常是小寫,並用下底線分開單字)

當然也是能用駝峰式的運行,但習慣上Python都是全小寫下底線

另外要注意的就是Python3Reserved Keywords(LINK):

接著就可以替換下方的print內重複的計算

其他print全換成變數也可以執行:

但是變數如果改名則都要更著替換

這時候計算可能考慮不一定都是秒,可以也替換為變數,之後方便更改

宣告單位的文字變數:

所以改成如下形式:

之後要更改成小時計算則透過改變變數達成:

得到以下結果:

clean code概念下,變數的名稱最好是有描述性(descriptive)的名稱

其他人才能更容易理解程式內容

Functions

如上即便我們改成變數了,要印出四行的結果,卻仍要寫成四行相似的Code

要讓Code更加整潔,又不用重複性地寫,則需要Function

透過Function來做上述的print,其使用方法如下:

然後可以多行:

這時候我們可以移除底下那四行print,這時候可以注意到IDE有黃底線提示:

上述提示說到要有兩個空白行像這樣:

Python官網也有介紹應該寫成什麼風格的寫法會比較好(LINK):

這時候執行則沒有印出任何Function內的內容:

因為就像變數一樣,我們還沒使用Function

使用Function的方式如下

Function Parameters:

為了更加動態地變更Function的計算內容,則需要參數餵入,如下

為了回到之前四個print的結果,可以重複地呼叫該Function:

並有以下好處:

  1. 減少程式碼
  2. 減少重複的程式碼
  3. 更有描述性

這時候若是執行沒有必要的參數的話,則會:

這時候可能會想要多個參數餵入Function,其寫法如下:

Function Scope:

變數僅可以在被建立的範圍內被使用

Global Scope:變數可在任何範圍內使用,例如以下兩個變數

上述這兩個變數甚至可以在別的檔案內使用

Local Scope:Function內建立的變數,僅在該Function內使用

例如建立另一個Function嘗試調用隔壁FunctionLocal Scope變數則會:

若執行了會有錯誤出現:

這時候我們也可以特別為check_scope這個Function

自訂自己的num_of_days變數

該變數跟days_to_units這個Function內同名變數就沒有任何關係

而這一部分即是check_scopeFunction Body

也可以在Function內定義變數:

現在先簡化目前程式為如下,後面將學到其他範例:

參考課程reference

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet