一.is和==的区别

python中对象包含的三个基本要素分别是:id(身份标识),type(数据类型),value(值)

is和==都是对对象进行比较判断的,但对对象比较判断的内容不同.

★==是python标准操作符中的比较操作符,用来判断两个对象的value是否相等.

如:

 a=6/2
b=3
print(a==b) #True

★is也被叫做同一性运算符,这个运算符比较判断的是对象的身份标识(id)是否相同,

如:

 x=[4,5,6]
y=[4,5,6]
print(x is y) #False 因为x和y的id不同
 a=1        #a和b是int型
b=1
print(a is b) #True
print(id(a)) #
print(id(b)) # a='qwert' #a和b是字符串型
b='qwert'
print(a is b) #True
print(id(a)) #
print(id(b)) # a=(1,2,3,4) #a和b是元组类型
b=(1,2,3,4)
print(a is b) #False
print(id(a)) #
print(id(b)) # a=[1,2,3,4] #a和b是列表类型
b=[1,2,3,4]
print(a is b) #False
print(id(a)) #
print(id(b)) # a= {'a':1,'b':2} #a和b是字典类型
b={'a':1,'b':2}
print(a is b) #False
print(id(a)) #
print(id(b)) #

is只有int和str类型的情况下,a is b才是True,其他类型时,a是False.

同时在int和str类型的时候也有一些限制

int型小数据池的范围是:-5~256

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

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

二.编码和解码

字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode('码')     字节  ==>  明文     把括号中的原码转换成unicode中明文

encode('码')     明文  ==>  字节     把unicode中的明文转换成括号中的原码

 a=("移花接木你肌瘤")             #unicode下的明文
print(a.encode('gbk')) #把unicode下的明文转换成了gbk下的原码 b'\xd2\xc6\xbb\xa8\xbd\xd3\xc4\xbe\xc4\xe3\xbc\xa1\xc1\xf6'
a1=a.encode('gbk')
print(a1.decode('gbk')) #把gbk下的原码转换成了unicode下的明文 移花接木你肌瘤
a2=a1.decode('gbk')
print(a2.encode('utf-8')) #把unicode下的明文转换成了utf-8下的原码 b'\xe7\xa7\xbb\xe8\x8a\xb1\xe6\x8e\xa5\xe6\x9c\xa8\xe4\xbd\xa0\xe8\x82\x8c\xe7\x98\xa4'
a3=a2.encode('utf-8')
print(a3.decode('utf-8')) #把utf-8下的原码转换成了unicode下的明文 移花接木你肌瘤

is和==的区别以及编码和解码的更多相关文章

  1. python基础小知识,is和==的区别,编码和解码

    1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...

  2. python中is与==的区别,编码和解码

    在介绍is与==的区别前,我们先来了解一些新的知识:内存地址.小数据池. 1.内存地址(is 比较的就是内存地址) 获取内存地址的方法:id() a = "str" 2.小数据池 ...

  3. is和==的区别以及编码、解码

    一.is和==的区别 1,id( ) id( )是python的一个内置函数,通过id( )我们可以查看到一个变量表的值在内存中的地址: s1 = 2 print(id(s1)) # 15143680 ...

  4. ==和is的区别 以及编码和解码

    is和==的区别 1. id() id是python的一个内置函数,通过id()可以查看变量表的值在内存中的地址. s1 = 2 print(id(s1)) # 1514368064 s2 = 2 p ...

  5. python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换

    python 一. is 和 == 的区别; == 比较的是两边的值. a = 'alex' b = 'alex' print(a = b) #True a = 10 b = 10 print(a = ...

  6. is 与 == 的区别;小数据池; 编码与解码

    1, is 与 == 的区别 ==  比较的是两边的值 is   比较的是两边的地址  id () 2,小数据池(在终端中) 数字小数据池的范围 -5 ~ 256 字符串中如果有特殊字符他们的内存地址 ...

  7. Python is 和 == 的区别, 编码和解码

    一.is 和 == 的区别 is : 进行比较,比较的是内存地址是否一致 ==:进行比较,比较的是值是否相等 1.小数据池: 数字小数据池范围 -5~256 字符串中如果有特殊字符则他们的内存地址不一 ...

  8. python is == 的区别, 编码与解码.深浅拷贝

    一. is  ==  的区别 双等表示的是判断是否相等, 注意. 这个双等比较的是具体的值.而不是内存地址 is 比较的是地址 编码回顾 除了了ASCII码以外, 其他信息不能直接转换 编码和解码的时 ...

  9. python之is 和 == 的区别//编码和解码

    一.is  和  ==  的区别: 1  .id()   内存地址 2.  ==   比较    #比较两边的值 3.   is    比较   #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...

随机推荐

  1. Sleep(0)的妙用

    在线程中,调用sleep(0)可以释放cpu时间,让线程马上重新回到就绪队列而非等待队列,sleep(0)释放当前线程所剩余的时间片(如果有剩余的话),这样可以让操作系统切换其他线程来执行,提升效率. ...

  2. 函数模板“偏特化” (C++)

         模板是C++中很重要的一个特性,利用模板可以编写出类型无关的通用代码,极大的减少了代码量,提升工作效率.C++中包含类模板.函数模板,对于需要特殊处理的类型,可以通过特化的方式来实现特定类型 ...

  3. 深度学习实践指南(六)—— ReLU(前向和后向过程)

    def relu_forward(x): out = x * (x > 0) # * 对于 np.ndarray 而言表示 handmard 积,x > 0 得到的 0和1 构成的矩阵 r ...

  4. GIT 单个文件还原到历史版本号

    首先检查在历史文件中的版本号信息:git log <file> 将文件还原到历史版本号:git reset 版本号 <file> 文档工作区的检测:git checkout - ...

  5. R 语言学习(二)—— 向量

    1. 入门 将摄氏度转化为华氏度 >> 27*1.8+32 [1] 80.6 [1]:表示数字的向量索引号,在 R 语言中任何一个数字都看作一个向量. 向量化 >> temp ...

  6. c语言学习笔记(9)——指针

    指针是c语言的灵魂 ----------------------------------------------------------------------------- # include &l ...

  7. 《TIME》时代周刊阅读

    0. 常识 tribunal 是解决民事诉讼和民事纠纷的地方,以调解为主,使用主席制.主席是受过司法培训,具有一定法律基础的,但不能像法官一样直接给你判决,也不能强制执行. Court 一般针对严重案 ...

  8. 中国新超算彻底告别进口CPU 国产芯片已可与国外抗衡

    日前,飞腾已经完成FT-2000plus服务器CPU的研制工作,飞腾公司的合作伙伴正在积极研发相应的整机产品.FT-2000plus这款芯片是以FT2000为基础的改进版本,虽然在单核性能上和Inte ...

  9. 在 DEBIAN 上安装 SQL SERVER

    微软在开源 .NET Framework 之后,相继推出了跨平台的编辑器 Visual Studio Code,跨平台的 SQL Server 数据库 SQL Server vNext,Visual ...

  10. win10+vs2008编译比特币1.0版源码总结

    https://zhuanlan.zhihu.com/p/25074960 https://zhuanlan.zhihu.com/p/25095222 总体上是参考这两个链接,感谢大神的分享,但是中间 ...