博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础6_小数据池,编码补充
阅读量:5886 次
发布时间:2019-06-19

本文共 1109 字,大约阅读时间需要 3 分钟。

一. 小数据池

代码块:python程序是有代码块构成的,一个代码块的文本作为python程序的执行单元.
一个模块,一个函数,一个类,甚至每一个command命令都是一个代码块,一个文件也是一个代码块.
eval()和exec()执行的时候也是一个代码块
命令行:我们在控制台CMD中输入的python进入的就是python的command模式,在这里也可以写python程序
二. 小数据池is和==的区别
1. id()
通过id()我们可以查看到一个变量表示的值在内存中的地址
2. is 和 ==
== 判断左右两端的值是否相等
is 判断左右两端的=内存地址值是否一致,如果返回True,那可以确定这两个变量使用的是同一个对象
3. 小数据池
一种数据缓存机制,也被成为驻留机制
小数据池只针对:整数,字符串,布尔值. 其他的数据类型不存在驻留机制
优点:能够提高一些字符串,整数的处理速度,省略了创建对象的过程
缺点:在"池"中创建或者插入新的内容会花费更多的时间
对于数字: -5~256是会被加到⼩小数据池中的. 每次使⽤用都是同⼀一个对象.
对于字符串串:
1. 如果字符串串的⻓长度是0或者1, 都会默认进⾏行行缓存
2. 字符串串⻓长度⼤大于1, 但是字符串串中只包含字⺟母, 数字, 下划线时才会缓存
3. ⽤用乘法的到的字符串串. ①. 乘数为1, 仅包含数字, 字⺟母, 下划线时会被缓存. 如果
包含其他字符, ⽽而⻓长度<=1 也会被驻存, ②. 乘数⼤大于1 . 仅包含数字, 字⺟母, 下划 线这个时候会被缓存. 但字符串串⻓长度不能⼤大于20
4. 指定驻留留. 我们可以通过sys模块中的intern()函数来指定要驻留留的内容.
三. 编码补充
1.python2使用的是ASCII码表,python3使用的是unicode码表
在存储和传输时不能直接用unicode,因为太浪费内存,所以必须对字符串进行编码,转换成bytes类型
2.bytes的表现形式
ASCII码表的内容(英文,数字,特殊字符):原样输出,表现形式和字符串没区别
非ASCII码表的内容(中文): b'\xe6\x88\x91\xe4 这是两个汉字的utf-8的bytes表现形式
gbk或utf-8 --> unicode 用decode()解码
unicode --> gbk或utf-8 用encode()编码
gbk和utf-8不能相互直接转换,需要unicode来充当中间媒介

转载于:https://www.cnblogs.com/guyannanfei/p/10061249.html

你可能感兴趣的文章
windows安装解压版mysql5.6以上
查看>>
位域,链接指示
查看>>
exchange 2013 相关日志查询
查看>>
Centos7-修复心脏滴血漏洞
查看>>
WINDOWS 2008 R2增量备份
查看>>
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead.
查看>>
shell 中利用getopts
查看>>
我的友情链接
查看>>
PowerShell 基本概念
查看>>
block,inline和inline-block概念和区别
查看>>
python oracle数据库备份脚本
查看>>
环形矩阵
查看>>
mysql的数学函数
查看>>
golang 使用 gorp 的问题
查看>>
Java44: web基础3
查看>>
最近百度云盘不提供搜索,闲来无事,玩玩python爬虫,爬一下百度云盘的资源...
查看>>
DTO之豁然开朗
查看>>
Hyper-V 3.0 - 更新集成服务
查看>>
隐藏nginx版本号
查看>>
利用shell的expect实现自动登录服务器
查看>>