Python 注释的原理:

  原理:根据对象的引用计数器,对象创建会给对象一个引用计数器属性。如果该属性的值为0,那么该对象会被释放。创建一个字符串对象,但是没有任何引用,计数器为0。

Python小整数对象:

  
  python为了优化速度,使用了小整数对象池,避免整数频繁申请和销毁内存空间。

  python对小整数定义是[-5,256] 这些整数对象提前建立,不会被垃圾回收。在python中这个范围python整数使用的都是同一个对象

  定义两个相同的字符串时:引用计数器为0,触发垃圾回收

  小结:

    1、小整数共用对象,常住内存。

    2、单个字符共用对象,常住内存

    3、单个单词,不可修改,默认开启intern机制,共用对象,引用计数为0,则销毁

    4、字符串(包含空格),不可修改,没有开启intern机制,不共用对象,引用计数为0,销毁。

 python深浅拷贝:

  1、用“=”赋值:

   “=”赋值存会把存放变量a的地址值传给被被赋值b,最后两个变量引用同一个地址。

  

  对于可变变量来说其中一个变量a的值改变,另一个变量b也会随着改变,但是id不会变:

  

  注释:他们是连体婴儿,你有的我全要,完完全全不分彼此。

  对于不可变变量来说,变量a改变,另一个变量b,不会改变:

  

 注释:连体婴儿,第三者出现,就变成两个人分家了。

   2、浅拷贝copy.copy:

  变量 l1 通过copy()拷贝给变量 l2,地址改变。并且使用copy改变第一层以外的元素,两个变量都会改变;改变第一层变量,改变的变量会发生改变:

  

  拷贝后,改变的列表第二层深层元素,所以l1和l2都改变,但是第二次改变第一层元素,只有l1发生改变。

  注释:他们是两个人长得一样,在房子一楼的时候装作互相不认识,在房子楼上时就不分彼此,搞到一起了。

  3、深拷贝copy.deepcopy():

  数据完完全全不共享,数据之间不会影响,内存完全独立。

  

  注释:两个人长得一样,老死不相往来。

  小结:

  

    1,深浅拷贝都是对源对象的复制,占用不同的内存空间。

    2,不可变类型的对象,对于深浅拷贝毫无影响,最终的地址值和值都是相等的。

    3,可变类型: 
      =浅拷贝: 值相等,地址相等 
      copy浅拷贝:值相等,地址不相等 
      deepcopy深拷贝:值相等,地址不相等

———————————————————————————————————————————————————————————

                                      如果有说的不对的,希望大家提出来,万分感谢。

python 一些基础知识的更多相关文章

  1. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  2. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  3. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  4. Python:基础知识

    python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...

  5. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  6. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  7. Python入门 ---基础知识

    Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...

  8. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  9. python编码基础知识

    http://www.javaeye.com/topic/560229 一 预备知识 字符集1, 常用字符集分类ASCII及其扩展字符集作用:表语英语及西欧语言.位数:ASCII是用7位表示的,能表示 ...

  10. Python 爬虫基础知识

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

随机推荐

  1. 你会用setTimeout吗

    定义很简单 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 广泛应用场景 定时器,轮播图,动画效果,自动滚动等等 上面一些应该是setTimeout在大家心中的样子,因为我们 ...

  2. 对MVVM思想的在认识

    如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革.它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model ...

  3. HTML5制作新年贺春

    <!DOCTYPE html> <html> <head> <meta charset='UTF-8'/> <meta name='viewpor ...

  4. AOSP 源码下载

    网上关于这块大部分教程都是无效的,因为墙的缘故,无法使用官方提供的下载链接,我这里使用了清华大学的镜像,是能够顺利将 AOSP 下载下来.如果你还没有安装 Ubuntu,请看<VirtualBo ...

  5. 【Android 界面效果46】自定义view常处理的回调方法

    onFinishInflate() 当View中所有的子控件均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int, ...

  6. selenium grid 使用方法

    代码和selenium driver相同 只是 启动环境方式不同.至少启动一个hub 一个 node .如需要多个,可以使用端口进行区分. java -jar selenium-server-stan ...

  7. MyEclipse内存溢出问题

    今天碰到的问题,先记录下来 Console报错: Java.lang.OutOfMemoryError: PermGen space 跟着步骤: 在这里加入:-Xms800m -Xmx800m -XX ...

  8. mybatis学习目录

    mybatis详解动态SQL https://www.cnblogs.com/ysocean/p/7289529.html mybatis查询时间段sql语句 http://www.cnblogs.c ...

  9. zabbix3.0问题及解决方法

    一.问题:Zabbix agent on T2 is unreachable for 5 minutes         解决:1.进入zabbix service端 vim /etc/zabbix/ ...

  10. oracle自动异地备份数据库

    需求:实现oracle自动异地备份数据库 分析:1.oracle备份数据库     2.自动备份(定时)   3.非本地备份(因为如果备份到本地的话,如果硬件设备损坏可能导致数据丢失) 知识点:1.备 ...