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. .NET Core 部署到CentOS–3.supervisord守护进

    1. 安装 sudo yum install python-setuptoolssudo easy_install supervisor 2. 配置 安装成功后,输入supervisord 会显示配置 ...

  2. postMessage解决跨域跨窗口消息传递

    平时做web开发的时候关于消息传递,除了客户端与服务器传值还有几个经常会遇到的问题 页面和其打开的新窗口的数据传递 页面与嵌套的iframe消息传递 这些问题都有一些解决办法,但html5引入的mes ...

  3. 移动web基础

    接触retina屏 基础知识(移动Web的基础知识)排版布局(高效的移动Web布局)开发效率终端交互优化 pixel像素基础viewport视图viewport_meta标签viewport_codi ...

  4. Android 关于apk 打包后的地图定位和导航失败的问题

    项目中,使用了高德地图定位,调试的debug包定位完全没有问题,但是签名打包后,却始终无法定位,发现是测试环境下的SHA1码和签名发布版的SHA1码是不同的. 所以我们需要获取发布版的SHA1码: 方 ...

  5. MVC:控制器名与被调用模型名称发生冲突的解决方案

    控制器名与被调用的模型名发生了冲突: 有两种解决方案: (1)将被调用的模型类名进行修改 例如: (2)对被调用的模型进行起一个别名 以上 加油ヾ(◍°∇°◍)ノ゙

  6. **611. Valid Triangle Number three pointer O(n^3) -> square(binary search larget number smaller than target)

    Given an array consists of non-negative integers, your task is to count the number of triplets chose ...

  7. Fiddler-1 官网下载及安装

    1 进入Fiddler官网:http://www.telerik.com/fiddler 点击[Free download]:填写一些信息后就可以下载. 2 双击安装包--下一步dinghanhua下 ...

  8. UESTC 757 棋盘

    虽然是水题,但是还是很interesting的.(大概就是我最晚出这个题了... 博弈感觉就是靠yy能力啊.这题是对称性. 最后的必败态是白色格子对称的,一旦对称形成,对手怎么选,跟随就好,对手无法摆 ...

  9. 2019.03.09 ZJOI2019模拟赛 解题报告

    得分: \(20+0+40=60\)(\(T1\)大暴力,\(T2\)分类讨论写挂,\(T3\)分类讨论\(40\)分) \(T1\):天空碎片 一道神仙数学题,貌似需要两次使用中国剩余定理. 反正不 ...

  10. Poj(2560),最小生成树,Prim

    题目链接:http://poj.org/problem?id=2560 只想说“全都是套路”,关键建图. #include <stdio.h> #include <string.h& ...