3.8小数据池

python是由代码块构成的

代码块,一个模块.一个函数,一个类,一个文件,eval(),exec()执行的时候也是一个代码块

1.内存地址 id()

通过id() 我们可以查看到一个变量表示的值在内存中的地址

a = 'alex'
print(id(a)) #4541631158
  1. == 和is

    ==比较的是值(内容) True

    is比较的是内存地址(是不是同一个对象) False

lst1 = [1,2,3]
lst2 = [1,2,3]
pritn(lst1 == lst2) #True 长得一样
print(lst1 is lst2) #False 不是同一个对象

3.小数据池 数字(-5-256)之间的整数会被缓存

lst1 = 'alex'
lst2 = 'alex'
pritn(lst1 == lst2)
print(lst1 is lst2) #在python中默认会把整数,布尔值,字符串进行缓存

缓存规则

  1. 如果字符串的⻓度是0或者1, 都会默认进⾏缓存
  2. 字符串⻓度⼤于1, 但是字符串中只包含字⺟, 数字, 下划线时才会缓存
  3. ⽤乘法的到的字符串. ①. 乘数为1, 仅包含数字, 字⺟, 下划线时会被缓存. 如果

    包含其他字符, ⽽⻓度<=1 也会被驻存, ②. 乘数⼤于1 . 仅包含数字, 字⺟, 下线这个时候会被缓存. 但字符串⻓度不能⼤于20
  4. 指定驻留. 我们可以通过sys模块中的intern()函数来指定要驻留的内容.
  5. 特殊字符(中文除外)定义一个的时候进行驻留

手动缓存,需要调用工具

from sys import intern

代码块的规则

#数字:全部驻留
#字符串:1.做乘法的时候,总长度不能超过20.
# 2.自己定义的都驻留
# 3.乘数为1的时候就是赋值
# 4.python3.7乘法的时候总长度不能超过4096

需要记住:小数池支持数字字符布尔值

​ 数字 -5 - 256

​ 字符串乘法时长度不能超过20

Python细节(二)小数据池的更多相关文章

  1. python基础之小数据池、代码块、编码和字节之间换算

    一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...

  2. python基础之小数据池

    一,id,is,== 在Python中,id是什么?id是内存地址,比如你利用id()内置函数去查询一个数据的内存地址: name = '太白' print(id(name)) # 158583128 ...

  3. python 浅谈小数据池和编码

    ⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...

  4. python编码和小数据池

    python_day_6 一. 回顾上周所有内容一. python基础 Python是一门解释型. 弱类型语言 print("内容", "内容", end=&q ...

  5. python基础之小数据池、代码块、编码

    一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...

  6. python之路--小数据池,再谈编码,is和 == 的区别

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

  7. python基础之小数据池,is和==区别 编码问题

    主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同 ...

  8. python中的 小数据池 is 和 ==

    1. 小数据池 一种数据缓存机制,也被称为驻留机制 小数据池针对的是:整数 , 字符 , 布尔值 .其他的数据类型不存在驻留机制 在python中对 -5 到256之间的整数会被驻留在内存中, 将一定 ...

  9. Python基础篇 -- 小数据池和再谈编码

    小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...

随机推荐

  1. Windows安装MongoDB .zip绿色版

    本文链接:https://blog.csdn.net/HTouying/article/details/88428452 MongoDB官网下载链接:https://www.mongodb.com/d ...

  2. Python 标准库、第三方库

    Python 标准库.第三方库 Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写 ...

  3. kali修改更新源及更新

    进入源文件进行修改 leafpad /etc/apt/sources.list (其实系统本身就自带了更新源,去掉其注释也是可以的,现在官方源的下载速度也还ok,下面的三选一亦可) #kali官方源 ...

  4. jQuery动态添加和删除表格行

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. java 基础类型和包装类的详解

    摘自:JAVA中基本类型的包装类 1. 包装类把基本类型数据转换为对象     每个基本类型在java.lang包中都有一个相应的包装类 2. 包装类有何作用     提供了一系列实用的方法     ...

  6. LeetCode 22. 括号生成(Generate Parentheses)

    题目描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n =3,生成结果为: [ "((()))", "(() ...

  7. leetcode-easy-array-136. Single Number

    mycode   75.80% class Solution(object): def singleNumber(self, nums): """ :type nums: ...

  8. 使用hash拆分文件

    package readImgUrl; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.i ...

  9. 字典的常见操作<二>

    <1>len() 测量字典中,键值对的个数 <2>keys 返回一个包含字典所有KEY的列表 <3>values 返回一个包含字典所有value的列表 <4& ...

  10. react介绍、环境搭建、demo运行实例

    React官网:https://reactjs.org/docs/create-a-new-react-app.html cnpm网址:http://npm.taobao.org/ 1.react介绍 ...