首页 >后端开发 >Python教程 >什么是copy函数?直接赋值与copy的区别是什么?

什么是copy函数?直接赋值与copy的区别是什么?

乌拉乌拉~
乌拉乌拉~原创
2018-08-18 17:55:088373浏览

这篇文章我们来学习一下关于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