簡體   English   中英

`copy.deepcopy`是否可以在Python中與`NamedTuple`s一起使用?

[英]Does `copy.deepcopy` work with `NamedTuple`s in Python?

我的文檔中看到,有一個__deepcopy__可用於擴展的行為方法deepcopy超越內置類型。 但是, NamedTupletyping模塊中的類版本)的文檔未提及任何內容。 但是,由於它為哈希和相等性測試提供了默認值,所以我想知道,它是否也為深度復制提供了默認值?

NamedTuple不需要定義特殊的__deepcopy__處理程序,但不需要。 __deepcopy__僅用於覆蓋/自定義默認的深層復制行為(僅使用pickle特殊方法__reduce_ex____reduce__ ); 對於用Python定義的類(與C擴展類型相對),默認行為通常是正確/完整。 object本身為所有非擴展類型提供了有用的默認酸洗行為,假設它們的所有屬性本身都是可酸洗的,例如沒有打開的文件對象等。

由於NamedTuple是Python級別的,並且沒有特殊的復制需求,因此不必費心實現自定義處理程序。 僅當NamedTuple某些屬性NamedTuple拾取並且自己沒有定義__deepcopy__

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM