首頁 >後端開發 >Python教學 >為什麼 Python 的列表變異方法回傳「None」?

為什麼 Python 的列表變異方法回傳「None」?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-22 12:23:11227瀏覽

Why Do Python's List Mutating Methods Return `None`?

為什麼Python 的Mutating List 方法不回傳None

Python 中修改清單的操作,例如刪除、清除、擴充、擴充、擴充、擴充、擴充,然後反向操作,令人驚訝的是返回None 而不是更新後的列表。這項設計決策引起了人們的好奇與爭論。

Python 的仁慈的終生獨裁者 (BDFL) Guido van Rossum 解釋說,這一原則源於編碼風格的考慮。有些語言喜歡在單一物件上連結多個副作用,例如 x.compress().chop(y).sort(z)。

Van Rossum 認為這種連結可能會妨礙不熟悉這些方法的讀者的可讀性涉及。他喜歡更明確的風格,將副作用分開並直接應用於物件:

x.compress()
x.chop(y)
x.sort(z)

這種方法可以清楚地表明哪個物件正在被修改,促進理解。

Van Rossum 保留返回新值的操作的鏈接,例如結果是轉換後的字符串的字符串處理操作,如下所示:

y = x.rstrip("\n").split(":").lower()

此設計決策是有意實現的阻止副作用調用的鏈接,並強調就地修改和返回新對象的操作之間的區別。雖然這有時看起來不方便,但它提高了 Python 編碼風格的清晰度和一致性。

以上是為什麼 Python 的列表變異方法回傳「None」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn