在Python類或函數參數列表中,我們有時會看到星號*,它是什么意思呢?
什么是僅限關鍵字參數?
Python 3中引入的僅限關鍵字參數是指必須通過其名稱來指定的函數或方法參數。它們避免了由于存在多個參數而引起的混淆,增強了代碼的可讀性,減少了錯誤的可能性。
語法和用法
僅限關鍵字參數的語法涉及在函數或方法的參數列表中放置一個星號*。星號之后的參數被視為僅限關鍵字參數。讓我們在Python類方法的上下文中看看這個:
class DocumentRetriever:def _get_relevant_documents(self, query: str, *, run_manager):# 實現部分pass
在上面的例子中,DocumentRetriever類的_get_relevant_documents方法有兩個參數:query和run_manager。星號*在run_manager之前表明它是一個僅限關鍵字參數。
為什么使用僅限關鍵字參數?
-
清晰度:僅限關鍵字參數要求調用者明確指定參數的名稱,使代碼更具可讀性和清晰度。這在具有多個參數的方法中特別有益。
-
避免錯誤:它們有助于防止調用者混淆參數順序時可能發生的錯誤。
-
API設計的靈活性:它們允許更容易地更改方法簽名,例如添加新參數而不用擔心其位置。
調用帶有僅限關鍵字參數的方法
要調用帶有僅限關鍵字參數的方法,你只需指定關鍵字:
retriever = DocumentRetriever()
retriever._get_relevant_documents("某個查詢", run_manager=some_manager)
在這個調用中,必須明確命名run_manager。這在函數或方法有多個參數時特別有用,減少了按錯誤順序傳遞參數的風險。
閱讀
英文
AI好書推薦
AI日新月異,再不學來不及了。但是萬丈高樓拔地起,離不開良好的基礎。您是否有興趣了解人工智能的原理和實踐? 不要再觀望! 我們關于 AI 原則和實踐的書是任何想要深入了解 AI 世界的人的完美資源。 由該領域的領先專家撰寫,這本綜合指南涵蓋了從機器學習的基礎知識到構建智能系統的高級技術的所有內容。 無論您是初學者還是經驗豐富的 AI 從業者,本書都能滿足您的需求。 那為什么還要等呢?
人工智能原理與實踐 全面涵蓋人工智能和數據科學各個重要體系經典
北大出版社,人工智能原理與實踐 人工智能和數據科學從入門到精通 詳解機器學習深度學習算法原理