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中replace方法实例分析
Aug 20 Python
Python学习小技巧之列表项的拼接
May 20 Python
python如何在循环引用中管理内存
Mar 20 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
python清除字符串前后空格函数的方法
Oct 21 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
Python运行异常管理解决方案
Mar 09 Python
django admin后管定制-显示字段的实例
Mar 11 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
python 可视化库PyG2Plot的使用
Jan 21 Python
Python3接口性能测试实例代码
Jun 20 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
入党积极分子自我鉴定范文
2014/03/25 职场文书
访谈节目策划方案
2014/05/15 职场文书
县级文明单位申报材料
2014/05/23 职场文书
党员目标管理责任书
2014/07/25 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
python中的被动信息搜集
2021/04/29 Python
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang