python 的基础 学习 第七天 is id 编码的补充
1,==
两个等号比较的是数值,is比较的是内存地址。print(id())查看的内存地址。
小数据池只存在于数字与字符串中,数字 是 -5^^256,是为了节省空间。
字符串1,如果含有特殊字符,不存在小数据池,单个字符串('a')*int int>20不存在于小数据池
其他都不存在小数据池。
is 比较的是id 地址print(a is b)
2,数据类型byte与str字符串的操作方法一样。
1,编码之间的二进制互不识别
2,存储和传输是010101。但不能是Unicode的二进制。
3,python3x中的str在内存中的编码是unicode,python3x中的字符串不能直接存储和传输。
4,
python3x 中的编码:
python3x 中 str 在内存中的编码方式是unicode。python3x 中的str不能直接存储,和发送。
bytes 他的编码方式是非unicode(utf-8,gbk,gb2012.....)。
对于英文:
str: 表现形式:s = 'laonanhai'
内部编码:unicode
bytes:
表现形式:s = b'laonanhai'
内部编码:非unicode.
对于中文:
str: 表现形式: s = '中国'
内部编码:unicode
bytes: 00000001
表现形式:s1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
内部编码:非unicode.
5,是由 unicode编码成utf-8的byte类型。
s = '中国'
s1 = s.encode('utf-8')
print(s1)
#b'\xe4\xb8\xad\xe5\x9b\xbd'
由 unicode 编码成 gbk 的byte类型
s = 'alex'
s2 = s.encode('gbk')
print(s2)#b'alex'
由 utf-8 解码成unicode
s = 'alex'
s1 = s.encode('utf-8')
s2 = s.encode('gbk')
s3 = s1.decode('utf-8')#decode解码
print(s3)
由gbk 先转化成unicode 再变成utf-8
s = 'alex'
s1 = s.encode('gbk')
s2 = s1.decode('gbk').encode('utf-8')#由gbk 先转化成unicode 再变成utf-8
print(s2)#b'alex'
python 的基础 学习 第七天 is id 编码的补充的更多相关文章
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- Python入门基础学习(文件与异常处理)
Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- Python入门基础学习(模块,包)
Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...
- Python入门基础学习(面向对象)
Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...
随机推荐
- HTTP属性管理器 初探
1)HTTP Cache Manager 2)HTTP Cookie 管理器 3)HTTP 信息头管理器 4)HTTP 授权管理器 5)HTTP 请求默认值 为什么会有这些http属性的配置元件? ...
- MySQL字符集 utf8 和 utf8mb4 区别及排序规则 general_ci 和 unicode_ci 和 bin 的区别
先说字符集 utf8mb4说明:MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超 ...
- HTTP认证模式:Basic and Digest Access Authentication
一. Basic 认证 客户端以“ : ”连接用户名和密码后,再经BASE64编码( Base64 Content-Transfer-Encoding )通过Authorization请求头发送该密文 ...
- Day14--Python--函数二,lambda,sorted,filter,map,递归,二分法
今日主要内容:1. lambda 匿名函数 lambda 参数: 返回值-------------------------------------def square(x): return x**2 ...
- Transactional 事务
1.事务场景中,抛出异常被catch后,如果需要回滚,一定要手动回滚 其实像第一种try catch这种把整个包裹起来,这种业务方法也就等于脱离了spring事务的管理,因为没有任何异常会从业务方法中 ...
- Qt ------ 添加某个功能,比如(QSerialPort)注意事项
添加某个功能,比如(QSerialPort),不仅需要保护头文件 还需要在.pro文件内添加 QT += serialport
- plsql无法正常显示汉字
首先执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINES ...
- PV、UV、UIP、VV、CPC、CPM、RPM、CTR解释
PV.UV.UIP.VV.CPC.CPM.RPM.CTR 具体解释 PV:Page View,页面访问量,也就是曝光量. UV:Unique Visitor,独立访客数,同一个访问多次访问也只算1个访 ...
- Linux CGroup
catalog . 引言 . Cgroup安装配置 . Cgroup使用方式 . CGroup的子系统 1. 引言 我们已经讨论了Linux下命名空间(Namespace)的基本知识,详情请参阅另一篇 ...
- Java Bean的规范
什么是Java Bean? Java Bean就是遵循了某种规范的类,所以Java Bean就是一个类,只不过遵循了某种规范而已. Java Bean的规范 就是这么简单,下面就是一个标准的Java ...