<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](pprint.xhtml "pprint --- 數據美化輸出") | - [上一頁](types.xhtml "types --- Dynamic type creation and names for built-in types") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [數據類型](datatypes.xhtml) ? - $('.inline-search').show(0); | # [`copy`](#module-copy "copy: Shallow and deep copy operations.") --- 淺層 (shallow) 和深層 (deep) 復制操作 **源代碼:** [Lib/copy.py](https://github.com/python/cpython/tree/3.7/Lib/copy.py) \[https://github.com/python/cpython/tree/3.7/Lib/copy.py\] - - - - - - Python 中賦值語句不復制對象,而是在目標和對象之間創建綁定 (bindings) 關系。對于自身可變或者包含可變項的集合對象,開發者有時會需要生成其副本用于改變操作,進而避免改變原對象。本模塊提供了通用的淺層復制和深層復制操作(如下所述)。 接口摘要: `copy.``copy`(*x*)返回 *x* 的淺層復制。 `copy.``deepcopy`(*x*\[, *memo*\])返回 *x* 的深層復制。 *exception* `copy.``error`針對模塊特定錯誤引發。 淺層復制和深層復制之間的區別僅與復合對象 (即包含其他對象的對象,如列表或類的實例) 相關: - 一個 *淺層復制* 會構造一個新的復合對象,然后(在可能的范圍內)將原對象中找到的 *引用* 插入其中。 - 一個 *深層復制* 會構造一個新的復合對象,然后遞歸地將原始對象中所找到的對象的 *副本* 插入。 深度復制操作通常存在兩個問題, 而淺層復制操作并不存在這些問題: - 遞歸對象 (直接或間接包含對自身引用的復合對象) 可能會導致遞歸循環。 - 由于深層復制會復制所有內容,因此可能會過多復制(例如本應該在副本之間共享的數據)。 The [`deepcopy()`](#copy.deepcopy "copy.deepcopy") function avoids these problems by: - 保留在當前復制過程中已復制的對象的 "備忘錄" (`memo`) 字典;以及 - 允許用戶定義的類重載復制操作或復制的組件集合。 該模塊不復制模塊、方法、棧追蹤(stack trace)、棧幀(stack frame)、文件、套接字、窗口、數組以及任何類似的類型。它通過不改變地返回原始對象來(淺層或深層地)“復制”函數和類;這與 [`pickle`](pickle.xhtml#module-pickle "pickle: Convert Python objects to streams of bytes and back.") 模塊處理這類問題的方式是相似的。 制作字典的淺層復制可以使用 [`dict.copy()`](stdtypes.xhtml#dict.copy "dict.copy") 方法,而制作列表的淺層復制可以通過賦值整個列表的切片完成,例如,`copied_list = original_list[:]`。 類可以使用與控制序列化(pickling)操作相同的接口來控制復制操作,關于這些方法的描述信息請參考 [`pickle`](pickle.xhtml#module-pickle "pickle: Convert Python objects to streams of bytes and back.") 模塊。實際上,[`copy`](#module-copy "copy: Shallow and deep copy operations.") 模塊使用的正是從 [`copyreg`](copyreg.xhtml#module-copyreg "copyreg: Register pickle support functions.") 模塊中注冊的 pickle 函數。 想要給一個類定義它自己的拷貝操作實現,可以通過定義特殊方法 `__copy__()` 和 `__deepcopy__()`。 調用前者以實現淺層拷貝操作,該方法不用傳入額外參數。 調用后者以實現深層拷貝操作;它應傳入一個參數即 `memo` 字典。 如果 `__deepcopy__()` 實現需要創建一個組件的深層拷貝,它應當調用 [`deepcopy()`](#copy.deepcopy "copy.deepcopy") 函數并以該組件作為第一個參數,而將 memo 字典作為第二個參數。 參見 模塊 [`pickle`](pickle.xhtml#module-pickle "pickle: Convert Python objects to streams of bytes and back.")討論了支持對象狀態檢索和恢復的特殊方法。 ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](pprint.xhtml "pprint --- 數據美化輸出") | - [上一頁](types.xhtml "types --- Dynamic type creation and names for built-in types") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [數據類型](datatypes.xhtml) ? - $('.inline-search').show(0); | ? [版權所有](../copyright.xhtml) 2001-2019, Python Software Foundation. Python 軟件基金會是一個非盈利組織。 [請捐助。](https://www.python.org/psf/donations/) 最后更新于 5月 21, 2019. [發現了問題](../bugs.xhtml)? 使用[Sphinx](http://sphinx.pocoo.org/)1.8.4 創建。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看