從 Python 函數傳回多個值的替代方案
程式設計中的一個常見問題是需要從函數傳回多個值。有幾種方法可以解決這個問題,每種方法都有其優點和缺點。
元組
元組是一個簡單的選項,用於傳回多個值,同時將它們保持在特定的順序。然而,隨著回傳值數量的增加,元組變得麻煩且容易出錯。
字典
字典提供了一種更結構化的方法,讓您投影出單一值使用鍵的值。他們提供了類似於 C 中的命名元組的解決方案。
類別
建立專門的類別允許傳回自訂結構。此方法提供了靈活性,但在定義類別時可能涉及更多樣板程式碼。 Python 的 __slots__ 屬性可以透過消除 __dict__ 開銷來優化空間。
資料類別 (Python 3.7 )
資料類別提供了一種簡潔的方法來建立具有內建特殊功能的類別方法和類型註釋,簡化返回的建立
清單
比爾蜥蜴建議使用列表,儘管由於混合類型元素的潛力和缺乏顯著性,這種方法並不普遍受到青睞。與 Python 中元組相比的優勢。
命名元組(首選方法)
為了簡潔且組織良好的方法,強烈建議使用 Python 的命名元組(在 2.6 中添加)。它們將元組的順序和易用性與按名稱存取值的能力結合起來。
使用命名元組的範例:
import collections Point = collections.namedtuple('Point', ['x', 'y']) p = Point(1, y=2) print(p.x, p.y) # Output: 1 2
使用Python 命名元組3 打字庫:
from typing import NamedTuple class Employee(NamedTuple): name: str id: int = 3 # default value employee = Employee('Guido') print(employee.id) # Output: 3最終,傳回多個值的最佳方法取決於特定要求和程式碼組織。命名元組提供了簡單性和結構化存取之間的平衡,使其成為解決這一常見問題的流行且多功能的解決方案。
以上是如何從 Python 函數有效傳回多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!