Python基础知识(六)------小数据池,集合,深浅拷贝
Python基础知识(六)------小数据池,集合,深浅拷贝
一丶小数据池
什么是小数据池:
小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址
代码块 :
一个文件, 一个模块, 一个函数 ,一个类,一个终端的每一行就是代码块
代码块的关系:如果在同一个代码块中,默认的整数和字符串还有布尔值都会进行缓存
#在python中是用字典的方式存储
a=1
b=1
print(globals()) #函数会以字典类型返回当前位置的全部全局变量。
驻留机制: int ,str ,bool,
#小数据池只针对: 整数, 字符串, 布尔值. 其他的数据类型不存在驻留机制
# int
范围-5~ 256
# 字符串的规则
1. 长度小于等于1 ,直接缓存
2. 长度大于1, 字符串中只出现,数字,字母,下划线就会缓存
3. 乘以 1,驻留机制同上 . 若乘的数字大于1,仅包含,数字,字母下划线,最终长度小于20就会缓存,超过20就不在缓存
4. 使用sys模块中的 intern() 函数 强制缓存字符串,不论多长都会被缓存
5. 在3.7的版本中,字符串最终驻留长度为4096
#bool
直接会被驻留
is和==和区别
#通过id()我们可以查看到⼀个变量表示的值在内存中的地址.
is 比较的是内存地址
== 是比较的值
总结:
#如果内存地址相同. 那么值一定是相等的.
#如果值相等. 则不一定是同⼀个对象
二丶集合
set集合是python的一个基本数据类型.
特点: 无序,可哈希 ,可变数据类型,可以理解为一个只存放key的字典
主要作用:去重,看最后一条
Python基础知识(六)------小数据池,集合,深浅拷贝的更多相关文章
- python基础知识四 小数据池,深浅拷贝,集合+菜中菜
四.小数据池,深浅拷贝,集合+菜中菜 1小数据池 --缓存机制(驻留机制) '==' 判断两边内容是否相等 'is' 基于内存地址进行判断是否相同 a = 10 b = 10 print(a ...
- 6.Python初窥门径(小数据池,集合,深浅拷贝)
Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的 ...
- Python 入门之代码块、小数据池 与 深浅拷贝
Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...
- python基础4(小数据池,编码,深浅拷贝)
1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...
- python27期day06:小数据池、深浅拷贝、集合、作业题。
0.pycharm是代码块.黑窗口是小数据池.如下图: 1.驻留机制(长得像的共用一个内存地址)分小数据池缓存机制:后期开发时能明确知道.为什么不能正常使用.把经常用的东西放入规则(黑窗口)里. 数字 ...
- day06——小数据池、深浅拷贝、集合
day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...
- python的小数据池和深浅拷贝
小数据池 一种数据缓存机制,也称驻留机制 在同一代码块,相同的值不会开辟新的内存 特殊字符除外 小数据池只针对:在控制台时! 数字 :-5到256间的整数会被缓存 布尔值:都会缓存8 字符串 小于等于 ...
- python基础知识9---字符串拼接,深浅拷贝,三元运算
一.字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3 ...
- day4-python基础-小数据池以及深浅copy浅讲
今天的目录是 1.小数据池 2.深浅copy 正文开始 1.小数据池 在说明今天的内容前,先说明一个在今天重复用到的一个知识点 ###比较’=’俩边的数据是否完全相同,以及判断一个对象的内存地址是否完 ...
随机推荐
- 类中嵌套定义指向自身的引用(C、C++、C#)或指针(C、C++)
在定义类的时候,类中可以嵌套定义指向自身的引用(C.C++.C#)或指针(C.C++).详见代码: Node类: using System; using System.Collections.Gene ...
- CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)
本文章向大家介绍CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置),主要包括CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)使用实例.应用 ...
- c++优先队列(priority_queue)用法详解
转自csdn的文章,仅作为学习笔记.原文链接:https://blog.csdn.net/weixin_36888577/article/details/79937886 普通的队列是一种先进先出的数 ...
- Jenkins 使用 SonarQube 扫描 Coding
Jenkins 使用 SonarQube 扫描 Coding 系统环境: Jenkins 版本:2.176 SonarQube 版本:7.4.0 一.SonarQube 介绍 1.SonarQub ...
- Solidity开发注意
pragma版本:1.版本要高于0.4.24才可以编译:2.高于0.5的版本则不可编译:3.第三位的版本号可以变,留出来用做bug可以修复(如0.4.1的编译器有bug,可在0.4.2修复,现有合约不 ...
- spark 监控--WebUi、Metrics System(转载)
转载自:https://www.cnblogs.com/barrenlake/p/4364644.html Spark 监控相关的部分有WebUi 及 Metrics System; WebUi用于展 ...
- python while 1 然后pass会发生什么?
下面的代码,会使32核linux服务器志强e5的cpu使用率达到3200%,然后别的什么程序都跑不了. 如果windows,cpu使用率会达到100%.这是计算方式有点区别. 个人计算机,除非你是8路 ...
- [转]sql server 分页
转自 https://www.cnblogs.com/fengxiaojiu/p/7994124.html 第一种:ROW_NUMBER() OVER()方式 select * from ( sele ...
- springBoot项目不重新上传jar包,增量升级步骤
1.把源jar包cp到一个空文件夹里,然后把该jar包解压 jar -xf www.itxm.cn-0.0.1-SNAPSHOT.jar 2.进入BOOT-INF文件夹,找到class文件夹,把要升级 ...
- TCP报文结构
来自:https://blog.csdn.net/qq_32998153/article/details/79680704