你經常會發現,向函式傳遞列表很有用,這種列表包含的可能是名字、數字或更複雜的對
象(如字典)。將列表傳遞給函式後,函式就能直接訪問其內容
1.在函式中修改列表
將列表傳遞給函式後,函式就可對其進行修改。在函式中對這個列表所做的任何修改都是永
久性的,這讓你能夠高效地處理大量的資料。
2.禁止函式修改列表
有時候,需要禁止函式修改列表。例如,假設像前乙個示例那樣,你有乙個未列印的設計列
表,並編寫了乙個將這些設計移到列印好的模型列表中的函式。你可能會做出這樣的決定:即便
列印所有設計後,也要保留原來的未列印的設計列表,以供備案。但由於你將所有的設計都移出
了unprinted_designs,這個列表變成了空的,原來的列表沒有了。為解決這個問題,可向函式傳
遞列表的副本而不是原件;這樣函式所做的任何修改都只影響副本,而絲毫不影響原件。
注意:雖然向函式傳遞列表的副本可保留原始列表的內容,但除非有充分的理由需要傳遞副本,否
則還是應該將原始列表傳遞給函式,因為讓函式使用現成列表可避免花時間和記憶體建立副本,從
而提高效率,在處理大型列表時尤其如此。
雖然向函式傳遞列表的副本可保留原始列表的內容,但除非有充分的理由需要傳遞副本,否
則還是應該將原始列表傳遞給函式,因為讓函式使用現成列表可避免花時間和記憶體建立副本,從
而提高效率,在處理大型列表時尤其如此。
雖然向函式傳遞列表的副本可保留原始列表的內容,但除非有充分的理由需要傳遞副本,否
則還是應該將原始列表傳遞給函式,因為讓函式使用現成列表可避免花時間和記憶體建立副本,從
而提高效率,在處理大型列表時尤其如此。
3.傳遞任意數量的實參
有時候,你預先不知道函式需要接受多少個實參,好在python允許函式從呼叫語句中收集任
意數量的實參。
(1)結合使用位置實參和任意數量實參
如果要讓函式接受不同型別的實參,必須在函式定義中將接納任意數量實參的形參放在最
後。python先匹配位置實參和關鍵字實參,再將餘下的實參都收集到最後乙個形參中。
(2)使用任意數量的關鍵字實參
有時候,需要接受任意數量的實參,但預先不知道傳遞給函式的會是什麼樣的資訊。在這種
情況下,可將函式編寫成能夠接受任意數量的鍵—值對——呼叫語句提供了多少就接受多少。一
個這樣的示例是建立使用者簡介:你知道你將收到有關使用者的資訊,但不確定會是什麼樣的資訊。
在下面的示例中,函式build_profile()接受名和姓,同時還接受任意數量的關鍵字實參,
編寫函式時,你可以以各種方式混合使用位置實參、關鍵字實參和任意數量的實參。知道這
些實參型別大有裨益,因為閱讀別人編寫的**時經常會見到它們。要正確地使用這些型別的實
參並知道它們的使用時機,需要經過一定的練習。就目前而言,牢記使用最簡單的方法來完成任
務就好了。你繼續往下閱讀,就會知道在各種情況下哪種方法的效率是最高的。
python實參 python的形參和實參
python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...
Python的形參和實參
形參可以設定引數預設值,設定遵循從右至左原則 例如 fun x 0,y 1 fun x,y 1 但不可以是fun x 1,y 形參設定可以為數字字串變數 元組和字典等任意型別資料,元組形參是在變數名前加 字典形參是在變數名前加 例如 fun var fun tuple fun list fun di...
python函式的形參實參
def fn 形參們 pass 形參 定義函式,在括號內宣告的變數名,用來結束外界傳來的值 實參 呼叫函式,在括號內傳入的實際值,值可以為常量 變數 表示式或三者的組合 注 形參隨著函式的呼叫而產生,隨著呼叫結束而銷毀 有特例 位置實參 必須按照順序給形參傳值 關鍵字實參 按照關鍵字給形參傳值,所以...