標籤:style http io 使用 sp strong on div bs
定義函數 : 函數通過def關鍵字定義。 def關鍵字後跟一個函數的 標識符 名稱,然後跟一對圓括弧。圓括弧之中可以包括一些變數名,該行以冒號結尾。接下來是一塊語句,它們是函數體。
函數形參: 函數中的參數名稱為 形參 而你提供給函數調用的值稱為實參 。
局部變數: 當你在函數定義內聲明變數的時候,它們與函數外具有相同名稱的其他變數沒有任何關係,即變數名稱對於函數來說是 局部 的。這稱為變數的 範圍 。所有變數的範圍是它們被定義的塊,從它們的名稱被定義的那點開始。
global語句: global語句被用來聲明x是全域的——因此,當我們在函數內把值賦給x的時候,這個變化也反映在我們在主塊中使用x的值的時候。 你可以使用同一個global語句指定多個全域變數。例如global x, y, z。
預設參數值:預設參數值應該是不可變的。
【重要】 只有在 形參表末尾 的那些參數可以有預設參數值,即你不能在聲明函數形參的時候,先聲明有預設值的形參而後聲明沒有預設值的形參。
這是因為賦給形參的值是根據位置而賦值的。例如,def func(a, b=5)是有效,但是def func(a=5, b)是 無效 的。
關鍵參數: 如果你的某個函數有許多參數,而你只想指定其中的一部分,那麼你可以通過命名來為這些參數賦值——這被稱作 關鍵參數 ——我們使用名字(關鍵字)而不是位置(我們前面所一直使用的方法)來給函數指定實參。 這樣做有兩個 優勢 ——一,由於我們不必擔心參數的順序,使用函數變得更加簡單了。二、假設其他參數都有預設值,我們可以只給我們想要的那些參數賦值。
return語句: 注意,沒有傳回值的return語句等價於return None。None是Python中表示沒有任何東西的特殊類型。 例如,如果一個變數的值為None,可以表示它沒有值。 除非你提供你自己的return語句,每個函數都在結尾暗含有return None語句。 通過運行print someFunction(),你可以明白這一點,函數someFunction沒有使用return語句,如同: def someFunction(): pass
pass語句在Python中表示一個空的語句塊。
DocStrings:
文檔字串的慣例是一個多行字串,它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。 強烈建議 你在你的函數中使用文檔字串時遵循這個慣例。
你可以使用__doc__(注意雙底線)調用函數的文檔字串屬性(屬於函數的名稱)。請記住Python把 每一樣東西 都作為對象,包括這個函數。我們會在後面的類一章學習更多關於對象的知識。
如果你已經在Python中使用過help(),那麼你已經看到過DocStings的使用了!它所做的只是抓取函數的__doc__屬性,然後整潔地展示給你。你可以對上面這個函數嘗試一下——只是在你的程式中包括help(printMax)。記住按q退出help。
自動化工具也可以以同樣的方式從你的程式中提取文檔。因此,我 強烈建議 你對你所寫的任何正式函數編寫文檔字串。隨你的Python發行版附帶的pydoc命令,與help()類似地使用DocStrings。
【簡明 Python 教程】學習筆記【函數】