1. 小数据池, id()
小数据池针对的是: int, str, bool
在py文件中几乎所有的字符串都会缓存.
id() 查看变量的内存地址

# id()函数可以帮我们查看一个变量的内存地址
# a = 10
# b = 30
# print(id(a)) # 1515545088
# print(id(b)) # 1515545728 # lst = ['周杰伦', "麻花藤"]
# print(id(lst)) # 166167624
# print(lst)
# lst = [] # 创建了一个新列表
# lst.append("胡辣汤")
# print(id(lst)) # 166167624
# print(lst) # lst1 = [1,2,3] # 两个对象 内存地址是不一样的
# lst2 = [1,2,3]
# print(id(lst1)) # 166167624
# print(id(lst2)) # 166122376 # s1 = "abc" # 内存中是没有"abc", 创建一个新的 0.0001
# s2 = "abc" # 内存中是已经有了"abc", 直接把abc拿来用 0.0000001
# print(id(s1), id(s2)) # 31096032 31096032 # 视频频率最高的数据类型: 字符串,为了能够快速的创建字符串.
# 节省内存. 把相同的规律的字符串进行缓存,当下次创建的时候就不在创建了
# 把字符串的缓存-> 小数据池 -> String iterning -> 常量池 -> 字符串缓存 # 在创建字符串之前. 先去小数据池对比. 是否已经存在了该字符串.如果存在了.
# 就不创建新的了. 直接拿原来存在的数据, 省略掉反复重复创建字符串的过程. 节约内存 # 什么数据会被缓存
# 数字, 字符串, 布尔值 => 都是不可变的数据类型
# 1. 数字
# a = 1000
# b = 1000
# print(id(a), id(b)) # 165830000 165830000 # 2. 字符串. 如果单纯的写字符串. 几乎都会被缓存
# s1 = "alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事"
# s2 = "alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事"
#
# print(id(s1), id(s2)) # 31222064 31222064 # 如果在py文件中写的字符串. 几乎都是缓存的
# 在黑窗口里的写的几乎都不会缓存
# 不同的解释器. 缓存的机制也不一样 # 优点: 可以帮我们快速的创建对象.节省内存.
# 缺点: 缓存如果过大. 响应速度会比较慢
# 不要纠结. # == 和 is 区别: # == 比较的是数据, 外贸
# is 比较的是内存地址, 比较身份证号 # lst1 = [1,2,3]
# lst2 = [1,2,3]
# # 列表没有小数据池
# print(id(lst1), id(lst2)) # 166167560 166126408
# print(lst1 == lst2) # True
# print(lst1 is lst2) # False
#
# s1 = "我叫周润发"
# s2 = "我叫周润发"
# print(s1 == s2)
# print(s1 is s2) # 小数据池 # tu1 = ("周一", "周二")
# tu2 = ("周一", "周二")
# print(tu1 is tu2) # 地址不相等 False
# print(tu1 == tu2) # 内容相等 True # == 比较的是内容
# is 比较内存地址

  

小数据池 id的更多相关文章

  1. Python小数据池和字典操作

    小数据池 #id 查看内存地址 #多个代码块可以使用小数据池 #一个代码块中有一个问题,就是重复使用 #数字 -5~256 #字符串 字符串 乘法总数长度不能超过20, 0,1除外 #不能有特殊字符 ...

  2. python 小数据池 is和 == 编码解码

    ########################总结######################### 今日主要内容 1. 小数据池, id() 小数据池针对的是: int, str, bool 在p ...

  3. python3 小数据池

    '''小数据池:为了重复的使用同一个数据str(一般的,简单的)int -5~256bool True False3个数据类型会被放入小数据池id()取变量的内存地址字符串'''# s1 = &quo ...

  4. python --- 06 小数据池 编码

    一.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有不同 ...

  5. python之路---06 小数据池 编码

    二十二.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有 ...

  6. python的小数据池 is和== 以及再谈编码

    ---恢复内容开始--- 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # a = 10 # b ...

  7. 06 day小数据池

    1.小数据池,id() 小数据池针对的是: int ,str,bool-----都是不可变的数据类型  a.int 类型 a = 1000 b = 1000 print(id(a), id(b))   ...

  8. 小数据池 is和== 再谈编码

    昨日回顾 上节课内容回顾 1. 字典 {key:value, key:value.....} 成对的保存数据 字典没有索引. 不能切片, 字典的key必须是可哈希的.不可变的 1. 增加: dic[新 ...

  9. python小数据池 is和 == 再谈编码

    1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...

随机推荐

  1. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(3)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(3) 优化lab1 1.创建工程,开启HLS 运行 ...

  2. Problem 1 :nslookup,dig,host及网络相关命令

    网络基础命令 [root@localhost sysconfig]# netstat -rn Kernel IP routing table Destination Gateway Genmask F ...

  3. DS图--最小生成树

    题目描述 根据输入创建无向网.分别用Prim算法和Kruskal算法构建最小生成树.(假设:输入数据的最小生成树唯一.) 输入 顶点数n n个顶点 边数m m条边信息,格式为:顶点1 顶点2 权值 P ...

  4. 【JVM】Class结构之常量池

    常量池 主要包括下面2类: 字面量(Literal):如int,double,String等: 符号引用(Symbolic Reference): 符号引用 类和接口的全限定名: 字段的名称和描述符: ...

  5. 【Spring学习笔记-2.1】Spring的设值注入和构造注入

    设值注入: 先通过无参数的构造函数创建一个Bean实例,然后调用对应的setter方法注入依赖关系: 配置文件: <?xml version="1.0" encoding=& ...

  6. 1049.(*) Counting Ones

    题意:题目大意:给出一个数字n,求1~n的所有数字里面出现1的个数 思路:转自(柳婼 の blog)遍历数字的低位到高位,设now为当前位的数字,left为now左边的所有数字构成的数字,right是 ...

  7. 峰Redis学习(2)Jedis 入门实例

    参考博客:http://blog.java1234.com/blog/articles/314.html 第一节:使用Jedis 连接Redis 新建maven项目: pom.xml: <pro ...

  8. Consul之:服务健康监测

    服务注册 - 服务进程在注册中心注册自己的位置.它通常注册自己的主机和端口号,有时还有身份验证信息,协议,版本号,以及运行环境的详细资料. 服务发现 - 客户端应用进程向注册中心发起查询,来获取服务的 ...

  9. 自定义 MultiColumnComboBox[转]

    // taken from a control written by Nishant Sivakumar. // http://www.codeproject.com/cs/combobox/DotN ...

  10. absolute之后居中宽度自适应

    position:absolute;之后居中宽度自适应,不用再设定宽度了   css代码如下: .promptBox{display:none;border:1px solid #ccc;paddin ...