目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量否属指向了同一块内存地址 ==:== 可以用于判断两个变量的值是否相等,这个在之前的例子中也有用过 下面来看几个例子,以及具体的使用方法: In [1]: a = 'abc' In [2]: b = 'abc' In [3]: a == b Out[3]: True In [4]: a is b O…
一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行都是一个代码块. 二.id is == id是内存地址,在内存中,id都是唯一的如果两个变量指向的值得id相同,就证明在内存中是同一个. is判断的是两个变量的id值是都相同,如果is是True,==一定是True. 三.小数据池(驻留机制,缓存机制) 小数据池是python对内存做的一个优化:将-…
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definiti…
1.小数据池和代码块 # 小数据池 -- 缓存机制(驻留机制) # == 判断两边内容是否相等 # a = 10 # b = 10 # print(a == b) # is 是 # a = 10 # b = 10 # print(a is b) is判断基于内存地址进行判断 # print(id(a)) # print(id(b)) # 小数据池的数字范围: -5 ~ 256 # a = -2.5 * 2 # b = -2.5 * 2 # print(id(a)) # print(id(b))…
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 == == 判断左右两端的值是否相等,是不是一致 is 判断左右两端的内存地址是否一致,如果返回True 可以确定这两个变量使用的是同一个对象 在Python中,默认会把数字, 字符串, 布尔值进行缓存 1. 当我们在控制台时(CMD) #按照这个记 数字: -5 ~ 256 之间的整数会被缓存 字符串: 长度…
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块.python中真正意义的代码块是什么? 块是一个python程序的文本,他是作为一个单元执行的.代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而对于一个文件中的两个函数,也分别是两个不同的代码块: def fu…
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块.python中真正意义的代码块是什么? 块是一个python程序的文本,他是作为一个单元执行的.代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而对于一个文件中的两个函数,也分别是两个不同的代码块: def fu…
1.请用代码验证 "alex" 是否在字典的值中? info = {'name':'王刚蛋','hobby':'铁锤','age':'18',...100个键值对} info = {'name':'王刚蛋','hobby':'铁锤','age':'123alex1123'} #假设有一百个键值对 flag = False for i in info.values(): if "alex" in i: flag = True if flag: print("…
主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同一定为真 is 主要是对变量内存地址是否相同的判断,变量值相同不一定为真,但是变量内存地址相同,则变量一定相同. tips:可通过id()来查询变量id why: 1.为什么会存在不同变量共用一个内存地址的情况?1.前面说到的小数据池,即缓存.一部分字符串会被放在缓存中被公用,以提高处理速度 why…
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 .is 和 == # is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 三 .再谈编码 1. ascii. 有: 数字, 字母, 特殊字符. 8bit 1byte 128 最前面是0 2. gbk. 包含: asci…