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的Flask框架中实现分页功能的教程
Apr 20 Python
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
浅谈Pandas:Series和DataFrame间的算术元素
Dec 22 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
Python 实现一个简单的web服务器
Jan 03 Python
详解python3 GUI刷屏器(附源码)
Feb 18 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中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
vue写一个组件
2018/04/09 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
Vue中CSS动画原理的实现
2019/02/13 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python将unicode转为str的方法
2017/06/21 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
法制报告会主持词
2014/04/02 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
主持人开幕词
2015/01/29 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
Python代码实现双链表
2022/05/25 Python