Python 代码块、缓存机制

Python 代码块、缓存机制

  1. 相同的字符串在Python中地址相同

    s1 = 'panda'
    
    s2 = 'panda'
    
    print(s1 == s2) #True
    print(id(s1) == id (s2)) #True

2.代码块:

? 所有的代码都需要依赖代码块执行。

? 一个模块,一个函数,一个类,一个文件等都是一个代码块

? 交互式命令中, 一行就是一个代码块

3.缓存机制:

? 同一代码块下的缓存机制

? 适用对象:int(float),bool,str

? 具体细则:所有的数字,bool(1,0),几乎所有的字符串(字符串×数字时会有不同的情况)

? 同一代码块内:初始化命令时 先检查内存中 的 字典有无 已创建的相同的数据,如果有相同数据, 则会共用同一内存地址,

? 优点:节省内存,提升性能

? 不同代码块下的缓存机制 (小数据池)

? 适用对象:int(float),bool,str

? 具体细则:-5~256 范围内的数字,以及满足规则的字符串

? 优点:节省内存,提升性能

总结:

  1. 面试题
  2. 同一个 代码块下一个缓存机制,不同的代码块下另一个缓存机制(小数据池)
  3. 小数据池 数字范围 -5~256
  4. 共同优点:节省内存,提升性能。

原文地址:https://www.cnblogs.com/pandaa/p/12029027.html

时间: 2024-11-04 13:36:23

Python 代码块、缓存机制的相关文章

Python 小数据池、代码块以及代码块缓存机制

按照惯例,吟诗一首:苏轼<江城子·乙卯正月二十日夜记梦> 十年生死两茫茫,不思量,自难忘.千里孤坟,无处话凄凉. 纵使相逢应不识,尘满面,鬓如霜. 夜来幽梦忽还乡,小轩窗,正梳妆.相顾无言,惟有泪千行. 料得年年肠断处,明月夜,短松冈. 1. is 和 == 之间的区别 在讲解代码块及其缓存机制之前有必要搞清楚is和==之间的区别 开门见山直接说:==是比较两边变量的值是否相同,is是比较两边变量的内存地址是否相同,在python中内存地址如何获取,当然是使用id(item)函数获取了 举两个

Python代码块缓存、小数据池

引子 前几天遇到了这样一道Python题目:a='123',b='123',下列哪个是正确的? A. a != b B. a is b C. a==123 D. a + b =246 正确答案是B 是的,我选错了,我当时觉得没有正确答案,原因是我当时已经知道Python中 == 与 != 是比较两边的数值是否相等,很显然 a==b,我也知道 is 比较的是两边的内存地址是否相同,而内存地址是否相同是通过比较 id(a) 是否等于id(b)来知道的,而我想当然地认为a和b是两个不一样的变量,内存地

python代码块和小数据池

id和is 在介绍代码块之前,先介绍两个方法:id和is,来看一段代码 1 # name = "Rose" 2 # name1 = "Rose" 3 # print(id(name)) 4 # print(id(name1)) # 两个id相同 5 # print(name == name1) # True 6 # print(name is name1) # True 执行结果 2257847297000 2257847297000 True True Proce

Python 代码块

代码块 骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9925021.html https://www.cnblogs.com/jin-xin/articles/9439483.html 代码块可以使得一段python代码作为一个单元.一个整体执行. 几种代码块 模块文件是一个代码块 函数体是一个代码块 class的定义是一个代码块 交互式(python idle)的每一个命令行都是一个独立的代码块 脚本文件是一个代码块 脚本命令是一个代码块(python

Python 代码块 小数据池

一  代码块 什么是代码块??? Python程序是由代码块构造的.先举一个例子: 1 for i in '12334567': 2 print(i) 1 def func(): 2 print('Hello,world!') 1 class A: 2 name = 'colin' 从上面的例子可以称为代码块,虽然上面的缩进的内容都叫代码块,但是他们并不是python中严格定义的代码块. 那么,python中真正意义上的代码块又怎么定义? 因此,我们定义:一个模块,一个函数,一个类,一个文件等都

is == id 用法, 代码块,缓存机制,深浅copy,集合

01 内容大纲 is == id 用法 代码块 同一代码块下的缓存机制 不同代码块下的缓存机制(小数据池) 总结 集合(了解) 深浅copy 02 具体内容 1.id is == id是内存地址. 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id.可以利用id()去获取这个数据的内存地址. == 是比较的两边的数值是否相等. is 是比较的两边的内存地址是

pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码

1.代码块 能够实现某项功能的:模块,函数,类,文件 ##在python的交互模式下,一行代码就是一个代码块分别储存在不同文件中 2. id is ==和= =是赋值 ==比较两边数据内容是否相等 is 比较内存地址是否一致(内存里的id都是唯一的) id() 查看数据的id地址 3.小数据池(缓存机制,驻留机制): 小数据池是python对内存做的一个优化 优化内容:python将-5到256的整数.以及一定规律的字符串提前在内存找那个创建了固定的储存空间 适用小数据池的数据类型:*****

Python 中的驻留机制:小数据池和代码块

Python 中的驻留机制:小数据池和代码块 Python 中的驻留机制主要有两个:小数据池和代码块.驻留机制并不是学习 Python 过程中特别重要的概念,我们学习小数据池的目的主要有两个方面: 解决日后写代码过程中可能出现的疑惑.在后期开发中,能 明确 知道有些代码为什么不能正常使用 找工作面试时或多或少可能被问到,关键时刻起到装 X 的作用 先补充一个关键字 is.is(是) 和 ==(等于) 的作用十分相似,我们在这里将它们进行一个对比: == : 官方:判断等号两边的内容是否相同 白话

python小数据池、代码块

一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是一个代码块. 什么叫交互方式?就是咱们在cmd中进入Python解释器里面,每一行代码都是一个代码块. 不同的代码块: def func(): print(333) class A: name = 'alex' 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块. for i