python:id与小数据池与编码
一、id与小数据池
id:查的是内存地址
a = 100
b = 100
print(a == b)#比较的数值
print(a is b)#比较的是id
print(id(a),id(b))#id相同
小数据池
小数据:
数字:-5 ~ 256 为了节省空间
字符串:1.如果含有特殊字符,不存在小数据池
其他都不存在小数据池。
二、编码
1.编码之间的二进制互不识别
2.存储和传输010101,但不能是unicode的010101
python3x中的编码
python3x中str在内存中的编码方式是unicode。python3x中的str不能直接存储,和发送。
bytes 他的编码方式是非unicode(utf-8,gbk,gb2012)
对于英文
str:表现形式:s = ‘abcd’
内部编码:unicode
bytes;表现形式:s = b‘abcd’
内部编码:非unicode
对于中文
str:表现形式:s = ‘中国’
内部编码:unicode
bytes:表现形式:s = b‘\xe4\xb8\xad\xe5\x9b\xbd’
内部编码:非uncoide
三、转化
#unicode 转化换成byte的utf-8
s = 'aihalohuyouu'
s1 = s.encode('utf-8')
print(s1)#b'aihalohuyouu' q = '中国'
q1 = q.encode('utf-8')
print(q1)#b'\xe4\xb8\xad\xe5\x9b\xbd' #unicde转换成byte的gbk s= 'aihalohuyouu'
s2 = s.encode('gbk')
print(s2)#b'aihalohuyouu' q = '中国'
q1 = q.encode('gbk')
print(q1)#b'\xd6\xd0\xb9\xfa'
decode
将encode的数据decode回去
python:id与小数据池与编码的更多相关文章
- python 浅谈小数据池和编码
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...
- python学习笔记:第6天 小数据池和编码转换
目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量 ...
- 323 id与小数据池
a = 1000b = 1000print(a == b)== 比较的是数值is 比较的是内存地址.print(a is b)查看内存地址id()print(id(a))print(id(b)) 小数 ...
- 百万年薪python之路 -- 小数据池和代码块
1.小数据池和代码块 # 小数据池 -- 缓存机制(驻留机制) # == 判断两边内容是否相等 # a = 10 # b = 10 # print(a == b) # is 是 # a = 10 # ...
- python基础之小数据池、代码块、编码和字节之间换算
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...
- python基础之小数据池,is和==区别 编码问题
主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同 ...
- 《Python》 代码块、小数据池和编码转换
一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...
- python基础之小数据池、代码块、编码
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...
- Python基础篇 -- 小数据池和再谈编码
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...
随机推荐
- 1022. Sum of Root To Leaf Binary Numbers从根到叶的二进制数之和
网址:https://leetcode.com/problems/sum-of-root-to-leaf-binary-numbers/ 递归调用求和,同时注意%1000000007的位置 /** * ...
- mysql索引 ->创建索引、修改索引、删除索引的命令语句
查看表中已经存在 index:show index from table_name; 创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER ...
- Python *Mix_w4
1.什么是列表(list) 列表是一个可变的数据类型 列表由[ ]来表示,每一项元素使用逗号隔开.列表什么都能装,能装对象的对象. 列表可以装大量的数据,列表能装所有数据类型 2.列表的索引和切片 列 ...
- Android开发 ---Media
1.ctivity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- leetcode题解 3. Longest Substring Without Repeating Characters
题目: Given a string, find the length of the longest substring without repeating characters. Examples: ...
- SpringBoot(三)thymeleaf+JPA+MySql
接着上一节的 第一步:在pom文件中加入以下代码: <!--JPA--> <dependency> <groupId>org.springframework.boo ...
- 多线程callable使用方法
Runnable是执行工作的独立任务,但是它不返回任何值.在JavaSE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表的是从方法call()中返回的值,并且必须使用Executor ...
- AFN\HTTPS\UIWebView
1.AFN使用技巧 1.在开发的时候可以创建一个工具类,继承自我们的AFN中的请求管理者,再控制器中真正发请求的代码使用自己封装的工具类. 2.这样做的优点是以后如果修改了底层依赖的框架,那么我们修改 ...
- 后台获取用户登录token 和获取前端参数方法
//获取request请求中所有参数 Enumeration<String> names = request.getParameterNames(); HashMap<String, ...
- sql server中用聚合函数查询退休人的开销信息
1创建表 create database Mathgouse MathgoCREATE TABLE A(ID INT PRIMARY KEY IDENTITY,--自增主键ID_CARD VARCHA ...