python

一. is 和 == 的区别;

== 比较的是两边的值.

a = 'alex' b = 'alex' print(a = b) #True

a = 10 b = 10 print(a = b) # True

a= [1,2,3] b= [1,2,3] print(a = b ) #True

is 比较的是内存地址         id( )

a = 'alex' print(id(a)) # 36942544 内存地址

# n = 10 # print(id(n)) #1408197120

# li = [1,2,3] # print(id(li)) #38922760

(1)字符串的 is 比较

# a = 'alex' # b = 'alex' # print(a is b) #True

(2)数字的 is 比较

# n = 10 # n1 = 10 # print(n is n1) #True

小数据池: 数字的小数据池范围  -5~ 256

# n = -6 # n1 = -6 # print(n is n1) #False

# n = -5 # n1 = -5 # print(n is n1) #True

字符串中如果有特殊字符,他们的内存地址就不一样;

# a = 'alex@' # a1 = 'alex@' # print(a is a1) # Fales

字符串中单个 * 20以内的他们的内存地址一样,单个 * 21 以上的内存地址不一致.

# a = 'a'*21 # b = 'a'*21 # print(a is b) # Flase

(3)列表的 is 比较

li =[1,2,3] li2 =[1,2,3] print(li is li2) #False

(4)元组的 is 比较

tu =(1,2,3) tu1 =(1,2,3) print(tu is tu1) # False

(5)字典的 is 比较

dic1 = {'name':'alex'}
dic = {'name':'alex'}
print(dic1 is dic) #False

注意:pycharm是个坑,一个py文件中所有的相同字符串  一般都是使用一样的内存地址.

二.编码和解码

ascii 码:

不支持 中文

支持 英文 数字 符号

8位     一个字节 

gbk 码  国标码

支持 中文 英文 数字 符号

英文  16位        2个字节

中文  16位        2个字节

unicode   万国码

支持 中文 英文 数字 符号

英文  32位      4个字节

中文  32位      4个字节

utf - 8      长度可变的万国码     最少用 8位

英文      8位    1个字节

中文      24位     3个字节

python3中   程序运行阶段    使用的是 unicode     显示所有内容

bytes类型

传输和存储都是使用 bytes 类型

pycharm存储的时候默认使用的是 utf - 8

encode(编码方式)   ---------------     拿到明文编码后对应的字节

decode(编码方式)   ---------------    将编码后的字节解码成对应的明文

s = 'alex'
print(s.encode('utf-8')) # 编码 encode('utf-8') utf-8 是指定要编码成什么样的编码类型
print(s1.decode('utf-8')) #
bytes
b'alex'
s = '饿了'
s1 = s.encode('gbk') #b'饿了吗' #b'\xe9\xa5\xbf\xe4\xba\x86\xe5\x90\x97'
print(s.encode('gbk')) #b'\xb6\xf6\xc1\xcb\xc2\xf0'
print(s1)
print(s1.decode('utf-8'))

注意用什么进行编码就要用什么解码

不然最后会懵逼

python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换的更多相关文章

  1. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  2. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  3. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  4. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  5. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  6. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  7. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  8. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  9. Python全栈开发

    Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...

随机推荐

  1. UINavigationController 返回到各级目录

    [self.navigationController popViewControllerAnimated:YES]; UINavigationController返回总结: 1.弹出当前视图控制器(弹 ...

  2. 作为sort()方法的参数的比较函数(高程三第五章)

    <script> var nums = [0,1,5,10,15]; var nums2 = nums; nums.sort(); console.log(nums);//0,1,10,1 ...

  3. 【Flex】自定义组件-combobox组件

    1包结构 2 Test.mxml <?xml version="1.0" encoding="utf-8"?> <s:Application ...

  4. idea 添加代码自动提示支持,已PHP扩展 swoole 为例

    1,下载代码支持包 => swoole-ide-helper-en => https://github.com/eaglewu/swoole-ide-helper.git 2,如果安装了 ...

  5. 线程池构造类 ThreadPoolExecutor 的 5 个参数

    1.corePoolSize :核心线程数 2.maxPoolSize: 最大线程数 3.keepAliveTime :闲置线程存活时间 4.unit:参数keepAliveTime的时间单位,有7种 ...

  6. centos7 自动定时备份mysql数据库

    shell脚本:mysqlbak.sh #!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexpo ...

  7. YUV420格式解析<转>

    在YUV420中,一个像素点对应一个Y,一个2X2的小方块对应一个U和V.对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像. YUV420sp与YUV420p的数据格 ...

  8. ORM 的基本操作

    https://www.cnblogs.com/sss4/p/7070942.html

  9. 使用curator框架简单操作zookeeper 学习笔记

    Curator 操作是zookeeper的优秀api(相对于原生api),满足大部分需求.而且是Fluent流式api风格. 参考文献:https://www.jianshu.com/p/70151f ...

  10. MySQL更新优化(转)

    通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作).当读取者完成对表的操作的时候,锁就会 ...