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 编码的补充的更多相关文章

  1. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  2. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  3. Python入门基础学习 一

    Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...

  4. Python入门基础学习(文件与异常处理)

    Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...

  5. Python入门基础学习(函数)

    Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...

  6. python函数基础学习

    函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定  义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...

  7. Python入门基础学习(时间模块,随机模块)

    Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...

  8. Python入门基础学习(模块,包)

    Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...

  9. Python入门基础学习(面向对象)

    Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...

随机推荐

  1. 面试篇——mysql

    背景:在面试过程中发现很多公司对sql查询有要求,虽然不高,但是简单常见的sql查询必须熟练的掌握,否则一面都无法通过,痛定思痛,必须要深入了解下!!! 注释符号 面试题1 查询没有成绩的学生信息 参 ...

  2. react-native中的scrollables

    这是一个点击切换的demo 先看效果 然后看实现的代码 import React from 'react'; import { Text, View } from 'react-native'; im ...

  3. github在网页编写readme之后的操作

    study from : https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html

  4. Collection中的迭代器

    迭代器:boolean hasNext() 判断集合中是否还有没有被取出数据nexe() 取出集合中下一个元素package cn.lijun.demo4; import java.util.Arra ...

  5. python自动化开发-[第一天]-练习题

    1.使用while循环输入 1 2 3 4 5 6 8 9 10 i = 1 while i < 11: if i == 7: i += 1 continue print (i) i += 1 ...

  6. angular 中如果表单有相同的name一般会出现如下错误

    Unhandled Promise rejection Cannot assign to a reference or variable

  7. Linux 普通用户免密码切换到root用户

    Linux 普通用户免密码切换到root用户 # 添加用户 useradd user_name # 修改密码 echo "user_name@pwd" | passwd --std ...

  8. Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现!

    Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现! 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集群启动顺序 1>. ...

  9. nGrinder Loadrunner vs nGrinder

    s d 功能 参数类型 取值方式 迭代方式 Loadrunner实现方式 nGrinder实现方式 参数化 文件  sequential (顺序取值) Each Iteration (每次迭代) 在参 ...

  10. CSS常用选择器的认识

    ---恢复内容开始--- 前言:在CSS中选择器的种类有很多很多,但是在实际的工作中,我们经常会用到的分为两大类:基础选择器和复合选择器这两个大类,学习选择器的目的就是为了在复杂的页面中能够快速定位到 ...