Skip to Content
Python 技術手冊 第三版
book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden
January 2018
Intermediate to advanced
856 pages
17h 17m
Chinese
GoTop Information, Inc.
Content preview from Python 技術手冊 第三版
collections 模組
|
249
deepcopy deepcopy(x,[memo])
製作
x
的一份深層拷貝並回傳它。深層複製意味著在參考構成的一個
有向(不一定是無循環的)圖(directed graph)中遞迴遊走(https://
en.wikipedia.org/wiki/Glossary_of_graph_theory#Walks)。為了產生形狀完全
相同的圖,有一點需要特別注意:在遊走過程中,如果碰到了對相同物件
的參考超過一次,那就不能製作出各別的拷貝。取而代之,必須使用對相
同物件的那些參考。請考慮下列簡單的例子:
sublist = [1,2]
original = [sublist, sublist]
thecopy = copy.deepcopy(original)
original[0] is original[1]
True
(也就是說,
original
的兩個項目指
涉相同的物件)。這是
original
重要的一個特性,而任何宣稱是它的「拷
貝」的東西,都必須保留這種特性。
copy.deepcopy
的語意確保
thecopy[0]
is thecopy[1]
也是
True
original
thecopy
的參考圖(graphs of
references)因此會有相同的形狀。避免重複的拷貝有一個重要的有益的
副作用:它防止了參考圖有循環(cycles)時會發生的無限迴圈。
copy.deepcopy
接受第二個選擇性的引數
memo
,它是一個
dict
,會將已
經被複製的物件之
id ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

測試驅動開發|使用 Python

測試驅動開發|使用 Python

Harry J.W. Percival

Publisher Resources

ISBN: 9789864766819