首頁 >後端開發 >Python教學 >什麼是copy函數?直接賦值與copy的差別是什麼?

什麼是copy函數?直接賦值與copy的差別是什麼?

乌拉乌拉~
乌拉乌拉~原創
2018-08-18 17:55:088376瀏覽

這篇文章我們來學習一下關於python字典之中的python copy函數的相關知識,python copy是什麼意思,他有什麼作用都會在接下來的文章之中得到解答。

概括描述

Python 字典(Dictionary) copy() 函數傳回一個字典的淺複製。

語法

copy()方法語法:

dict.copy()

參數

##NA。

傳回值

傳回一個字典的淺複製。

實例

以下實例展示了copy()函數的使用方法:

# !/usr/bin/python

dict1 = {'Name': 'Zara', 'Age': 7};

dict2 = dict1.copy()
print "New Dictinary : %s" % str(dict2)

以上實例輸出結果為:

New Dictinary : {'Age': 7, 'Name': 'Zara'}

直接賦值與copy的差異

可以透過以下實例說明:

# !/usr/bin/python
# -*- coding: UTF-8 -*-

dict1 = {'user': 'runoob', 'num': [1, 2, 3]}

dict2 = dict1  # 浅拷贝: 引用对象
dict3 = dict1.copy()  # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用

# 修改 data 数据
dict1['user'] = 'root'
dict1['num'].remove(1)

# 输出结果
print(dict1)
print(dict2)
print(dict3)

實例中dict2 其實是dict1 的參考(別名),所以輸出結果都是一致的,dict3 父物件進行了深拷貝,不會隨dict1 修改而修改,子物件是淺拷貝所以隨dict1 的修改而修改。

{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'runoob'}

以上就是這篇文章所講的全部內容,python中字典內建的 copy函數。希望所說的內容以及所舉的例子能對你有幫助。

更多相關知識,請造訪php中文網

Python教學欄位。

以上是什麼是copy函數?直接賦值與copy的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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