Python基础系列-copy和deepcopy
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
Created by liaoyangyang1 on 2018/8/23 下午1:41.
"""
# 简单来说,就是copy出来的对象cp1,如果demo改了他会跟着改。但是deepcopy 出来的 cp2还是原来的值
import copy
demo2 = demo = [1, 2, [3, 4]] #origin 里#边有三个元素:1, 2,[3, 4]
cp1 = copy.copy(demo)
cp2 = copy.deepcopy(demo)
print(id(demo))
print(id(cp1))
print(id(cp2))
print(cp1)
print(cp2)
print(cp1 == cp2)
print(cp1 is cp2 )
print(cp1 is demo )
print(cp2 is demo )
print(demo2 is demo )
print('='*100)
#cp1 和 co2 看上去相同,但#已不再是同一个object
#把demo内的子list [3, 4] 改掉了#一个元素,观察到 cp1 和 #cp2的变化如下所示:
demo2[2][0] = "hi"
demo =[1, 2, ['hi', 4]]
print(cp1)
print(cp2)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Python基础系列-异步IO
版权声明:如需转载,请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81980259 涉及到几个概念: 1、协程是为了解决高并发用的东西。 2、协程的优点:无需线程上下文切换的开销,由此可以提高性能。无需原子操作锁定及同步的开销。也就是说,开销小。 asyncio就是一种异步IO 协程 import threading import asyncio import requests # 把 generator 标记为 coroutine 类型,便于执行 EventLoop @asyncio.coroutine def func(port): result = requests.get('http://10.0.53.129:{0}'.format(port)) print('Start %s! code: %s (%s)' % (port,result.status_code, threading.currentThread())) # 获取 EventLoop loop = asyncio.get_event_loo...
-
下一篇
从零开始学 Java 之 基础语法(运算符)
今天本来想把 Java 基础语法写完的,但是写到运算符和语句的时候,发现内容实在太多了,只能分开写。 下面开始今天的知识,先看下 Java 基础语法之运算符的总纲 今天我们接着学习算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符。 一、算术运算符 ● +的几种作用: • 加法 • 正数 • 字符串连接符 ● /和%的区别 • 数据做除法操作的时候,/取得是商,%取得是余数 • 除法的时候要注意一个问题: • 整数相除,只能得到整数 • 要想得到小数,可以*1.0 ● ++和--的用法 • 他们的作用是自增或者自减 •使用 二、赋值运算符 1、符号: ● = , +=, -=, *=, /=, %= ● =为基本的赋值运算符,其他的为扩展的赋值运算符 • =叫做赋值运算符,也是最基本的赋值运算符 • int x = 10; 把10赋值给int类型的变量x • 扩展的赋值运算符的特点 • 隐含了自动强制转换 2、面试题: • short s = 1;s = s + 1; •...
相关文章
文章评论
共有0条评论来说两句吧...