python从入门到精通(DAY 2)


Posted in Python onDecember 20, 2015

1、字典复制:

dict = {'name':'wang', 'sex':'m', 'age':34, 'job':'it'}

info = dict      ##别名 (二个字典指向内存的同一地址空间)

info1 = dict.copy()  #shadow copy 浅复制(嵌套字典第一层独立,第二层以下相关联)

import copy

copy.copy()      #shadow copy 浅复制

copy.deepcopy()    #deep copy  深复制(完全独立)

注:浅复制下的关联只是针对字典初始状态包含的嵌套对象,后新加的不会

例:

>>> dict
{'info': ['a', 'b', 1, 2], 'job': 'it', 'sex': 'm', 'age': 40, 'name': 'wang'}
>>> dict_alias = dict
>>> dict_copy = copy.copy(dict)
>>> dict_deep = copy.deepcopy(dict)

#添加、改变、删除第一层的对象键值,浅复制和深复制都不受影响

>>> dict['age'] = 32

>>> del dict['sex']
>>> dict
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_alias   
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_copy   
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep   
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}

#改变、删除原有的第二层的对象键值,浅复制受影响,而深复制都不受影响

>>> dict['info'][2] = 100
>>> dict
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_alias
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_copy
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}

#添加第二层的对象,浅复制和深复制都不受影响

>>> dict['new'] = {'a':1, 'b':2, 'c':5}
>>> dict
{'info': ['a', 'b', 100, 2], 'name': 'wang', 'age': 32, 'job': 'it', 'new': {'a': 1, 'c': 5, 'b': 2}}
>>> dict_alias
{'info': ['a', 'b', 100, 2], 'name': 'wang', 'age': 32, 'job': 'it', 'new': {'a': 1, 'c': 5, 'b': 2}}
>>> dict_copy
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}

2、内置函数说明:

      __name__:主文件时返回main,否则返回文件名,可用来判断是否说主文件还是导入模块;

      __file__:文件的绝对路径;

      __doc__:文件开头的注释说明

例:

'''
  created by 2015-12-18
  @author: kevin
'''

if __name__ == '__main__':
  print('this is main file')
  print(__file__)
  print(__doc__)
Python 相关文章推荐
python实现保存网页到本地示例
Mar 16 Python
Python socket编程实例详解
May 27 Python
Python引用模块和查找模块路径
Mar 17 Python
python 反向输出字符串的方法
Jul 16 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
django自带调试服务器的使用详解
Aug 29 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
pytorch之ImageFolder使用详解
Jan 06 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
Python包和模块的分发详细介绍
Jun 19 Python
python如何代码集体右移
Jul 20 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
利用python代码写的12306订票代码
Dec 20 #Python
python从入门到精通(DAY 1)
Dec 20 #Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 #Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 #Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 #Python
十个Python程序员易犯的错误
Dec 15 #Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 #Python
You might like
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
浅析php工厂模式
2014/11/25 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
JS 建立对象的方法
2007/04/21 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
DOM 事件流详解
2015/01/20 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
git进行版本控制心得详谈
2017/12/10 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
宿舍打麻将检讨书
2014/01/24 职场文书
财务部经理岗位职责
2014/02/03 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
商家认证委托书格式
2014/10/16 职场文书
团委副书记工作总结
2015/08/14 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
python 提取html文本的方法
2021/05/20 Python
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL
Android存储中最基本的文件存储方式
2022/04/30 Java/Android