今日所学

一.  小数据池

二.  is 和==的区别

三.  编码的问题

一.小数据池的作用 用来缓存数据

  可以作用的数据类型: 整数(int),

            字符串(str),

            布尔值(bool).

什么是块?

代码块: ⼀个模块, ⼀个函数, ⼀个类, 甚⾄每⼀个command命令都是⼀个代码块. ⼀个⽂件也是⼀ 个代码块, eval()和exec()执⾏的时候也是⼀个代码块

二 . is 和== 的区别

id()

通过id 可以查找到一个变量表示的值在内存中的地址.

例如:

.    s = 'alex'

s1=id(s)

  print (s1)    # 4326667072

is 和 == 的区别

is 判断的是两个值得内存地址

" = = ""判断的是2个值内部的元素是否相等

现在我们大致可以这样认为: 如果两个值得内存地址相同,他们一定是相等的

如果只是值相等,那么他们不一定是同一个对象.

小数据池 : 一种数据缓存机制 ,也被称为驻留机制 .几乎每个编程语言都哟偶类似的东西

小数据池只针对 整数 字符串 布尔值 .其他的数据类型不存在驻留机制.

小数据池的优点: 能够提高一些字符串,整数的运算速度 ,省略创建对象的过程.

        缺点:在数据池中插入新的内容会花费很多的时间.

对于数字 : -5 - 256是会被加到小数据池中的,每一次使用的都是同日对象

对于字符串:1. 如果字符串的⻓度是0或者1, 都会默认进⾏缓存

2. 字符串⻓度⼤于1, 但是字符串中只包含字⺟, 数字, 下划线时才会缓存

3. ⽤乘法的到的字符串.

     ①. 乘数为1, 仅包含数字, 字⺟, 下划线时会被缓存. 如果 包含其他字符, ⽽⻓度<=1 也会被驻存,

     ②. 乘数⼤于1 . 仅包含数字, 字⺟, 下划 线这个时候会被缓存. 但字符串⻓度不能⼤于20 4. 指定驻留. 我们可以通过sys模块中的intern()函数来指定要驻留的内容.

三 ,编码的补充

python 3.x中内存中使用的代码是Unicode码

编码回顾:

ascii:最早出现的编码.里面有英文大写字母 小写字母 数字 特殊符号

没有中文  8bit  1byte

GBK: 中文国标码 里面包含立中文常用的编码16bit 2byte

Unicode: 万国码 里面包含了所有的国家文字编码 32bit 4byte 包含了ASCII码

utf-8:可变长度的万国码,是unicode的一种实现,最小字符占8位

1.英文 8bit 1byte

2.欧洲文字 16bit 2byte

3. 中文 32bit 3byte

重点:  编码和解码   在国内 只有UTF-8和GBK两种形式

编码:s.encode( )将一种文字变成计算机所识别的语言

解码:s.decode() 将计算机所识别的语言变成你识别的语言

s = "我是⽂字"

bs=s.encode("utf-8")

bss=bs.decode("utf-8")

print(bss)  这就是相当于实现了程序的编码和解码

day06 小数据池,再谈编码的更多相关文章

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

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

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

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

  3. day06——小数据池、深浅拷贝、集合

    day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...

  4. day06 小数据池和编码

    一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = ...

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

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

  6. Python二次编码、小数据池之心照神交

    二次编码.解码.小数据池: encode(str:编码):参数编码方式,返回字节码. str_1 = "编码" str_2 = str_1.encode("utf-8&q ...

  7. python之路day06--python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码

    python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = ...

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

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

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

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

随机推荐

  1. Lua和C++交互 学习记录之七:C++全局函数注册为Lua模块

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  2. Unity Shader入门精要之 screen post-processing effect

    本篇记录了学习Unity Shader入门精要的屏幕后处理的一些知识点. OnRenderImage(RenderTexture src, RenderTexture dest) 以上函数是Unity ...

  3. 通过IP地址定位准确的地理位置

    事情的经过时这样的: 朋友发来一封QQ邮件原文,询问里面显示的IP地址是不是真是的IP地址.然后,我就解锁了一项新技能:通过IP地址定位准确的地理位置 在这里收藏一下这个网址:http://www.8 ...

  4. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形菜单添加节点

    jQuery EasyUI 树形菜单 - 树形菜单添加节点 本教程向您展示如何附加节点到树形菜单(Tree).我们将创建一个包含水果和蔬菜节点的食品树,然后添加一些其他水果到已存在的水果节点. 创建食 ...

  5. MySQL数据库索引之B+树

    一.B+树是什么 B+ 树是一种树型数据结构,通常用于数据库和操作系统的文件系统中.B+ 树的特点是能够保持数据稳定有序,其插入与修改操作拥有较稳定的对数时间复杂度.B+ 树元素自底向上插入,这与二叉 ...

  6. LeetCode--443--压缩字符串(未看)

    问题描述: 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长 ...

  7. 树分治TLE原因

    1.树分治有logn层,如果各层都进行一次memset相当于大小没变,可能TLE: 2.根节点全局变量会变,需要用局部变量记录,还有子树大小. 3.找根的时候的size是当前size,而不是输入数据中 ...

  8. 2.3 UML活动图

    活动图定义 活动图描述了在一个过程中,顺序的/并行的活动及其之间的关系 应用于商业过程.工作流(业务过程).复杂算法的建模 活动图是顶点和弧的集合 活动节点 动作 流 对象值 注解和约束等 活动图基本 ...

  9. New Year and Old Subsequence CodeForces - 750E (dp矩阵优化)

    大意: 给定字符串, 每次询问区间[l,r]有子序列2017, 无子序列2016所需要删除的最小字符数 转移用矩阵优化一下, 要注意$(\mathbb{Z},min,+)$的幺元主对角线全0, 其余全 ...

  10. 第一阶段——站立会议总结DAY03

    昨天忘记发了,补充... 1.昨天做了什么:继续做界面的设计,使其更加美观. 2.今天准备做什么:准备将点击按钮时跳转到一个修改密码界面. 3.遇到的困难:此次第一阶段的任务是一个框架,不知道可否实现 ...