day06 小数据池,再谈编码
今日所学
一. 小数据池
二. 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 小数据池,再谈编码的更多相关文章
- python之路--小数据池,再谈编码,is和 == 的区别
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...
- python-小数据池,再谈编码,is和 == 的区别
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...
- day06——小数据池、深浅拷贝、集合
day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...
- day06 小数据池和编码
一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = ...
- python 小数据池 is和 == 编码解码
########################总结######################### 今日主要内容 1. 小数据池, id() 小数据池针对的是: int, str, bool 在p ...
- Python二次编码、小数据池之心照神交
二次编码.解码.小数据池: encode(str:编码):参数编码方式,返回字节码. str_1 = "编码" str_2 = str_1.encode("utf-8&q ...
- python之路day06--python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码
python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = ...
- python的小数据池 is和== 以及再谈编码
---恢复内容开始--- 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # a = 10 # b ...
- Python基础篇 -- 小数据池和再谈编码
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...
随机推荐
- maven配置环境变量失败解决办法
配置maven路径什么的统统正确,最后测hi不成功.在网上搜索了好多资料方法都解不了 具体问题具体对待吧,如果有和我类似的小伙伴,可以尝试一下我的这个办法,在maven路径后面加/bin path变量 ...
- 在不安装oracle客户端的情况下,使用PLSQL
一般在使用plsql时,会结合oracle客户端来使用,这样方便把数据库连接信息添加到plsql中.不过oracle客户端软件有点庞大,安装起来不太方便,所以在网上找到一种不依赖oracle客户端来使 ...
- exam_review to M1
1. 情态动词,尤其是can/can’t,should/shouldn’t. for example: You should have washed the wound.你应该已经洗好了伤口 Well ...
- English Voice of <<Bye Bye Bye>>
Bye Bye Bye - Lovestoned When i see you, looking back at me 当我看到你回首看我时 Watching this eye still 彼此凝视 ...
- English trip M1 - AC11 I Dreamed a Dream? 我做了一个梦 Teacher:Lamb
In this lesson you will learn to describe an experience. 这节课你讲学习到描述经历 课上内容(Lesson) 词汇(Key Word ) 句型 ...
- LeetCode--455--分发饼干
问题描述: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j , ...
- 关于Handler中Message的创建问题
Message用来定义一个包含任意数据的消息对象,这个消息对象是可以被发送给Handler处理的. 我们最好通过Message.obtain()和Handler.obtatinMessage()来得到 ...
- CF-822C Hacker, pack your bags! 思维题
题目大意是给若干线段及其费用,每个线段权值即为其长度.要求找出两个不重合线段,令其权值和等于x且费用最少. 解法: 先分析一下题目,要处理不重合的问题,有重合的线段不能组合,其次这是一个选二问题,当枚 ...
- vmware 10.0 安装centos6.5 客户系统 几个问题
1. vmware 10.0 安装centos6.5 客户系统 无法修改分辨率 要安装 desktop, KDE, legacy,x 组件 2. NAT 方式网卡无法自行启动 vim /etc/sy ...
- android -------- 错误Attribute application@allowBackup value=(true) from AndroidManifest.xml
开发中遇到一个问题,运行项目时,出现了一个这如下这样的问题 问题: Manifest merger failed : Attribute application@allowBackup value=( ...