無法修補,Monkey?
與 Ruby 相比,Python 限制對 Number 類別等核心型別進行方法修補。這種不能力源自於 C 擴充模組中定義的資料的不變性,其中包含 Python 的內建函數。
根本原因在於同一進程內的解釋器之間共用 C 模組。如果允許猴子修補,對這些模組的變更將傳播到所有解釋器,從而導致意想不到的後果。
此限制超出了方法範圍,擴展到 C 模組中定義的所有數據,例如,無法新增或修改屬性。
相較之下,在Python程式碼中建立的類別可以進行monkeypatched,因為它們僅限於特定的解釋器。這種區別強調了核心 Python 類型對源自使用者程式碼的變更的免疫力。
以上是為什麼我無法對 Python 的核心資料型別進行 Monkey 修補?的詳細內容。更多資訊請關注PHP中文網其他相關文章!