码迷,mamicode.com
首页 > 编程语言 > 详细

python的 == 和 is,编码和解码

时间:2018-08-02 22:49:35      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:pychar   可变   code   char   存储   等等   byte   arm   col   

is和 ==

== 比较两边的值

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

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

li1 = [1,2,3]
li2 = [1,2,3]
print(li1 == li2) True

 

is 比较内存地址

查询内存地址  id()

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

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

li = [1,2,3]
print(id(li))      #38922760
a = alex@
a1 = alex@
print(a is a1)    # Fales

n = 5//2
n1 = 2
print(n is n1)    #True

a = a*21
b = a*21
print(a is b)

 

小数据池

范围: -5~256

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

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


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

 

字符串 

单个字符串*20以内的内存地址是一样的(字符串中不能有特殊符号如:+ - * / @ ! ......等等)

单个字符串*20以上的内存地址是不相同

a = alex@
a1 = alex@
print(a is a1)    # Fale

 

a = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
b = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
print(a is b) # True

列表

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

元组

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

字典

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

 

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

编码   解码

编码有: asiic,unicode,gbk,utf-8,utf-16

 ascii 码:不支持中文,支持英文,数字,符号,  8位,一个字节

 gbk码:国标码,支持中文,英文,数字,符号.   英文每16位两个字节,  中文16位 二个字节

unicode : 万国码,支持中文,英文,数字,符号,    英文  32 位  四个字节.  中文  32位   四个字节

utf-8:目前使用最多的编码, 就是长度可变的万国码,最少用8位.   英文   8位    一个字节  中文   24位   三个字节

Python3中程序运行阶段使用的是unicode,可以显示所有的内容

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

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

.encode(‘编码‘)    拿到明文后编码后对应的二进制的字节

.decode(‘编码‘)   将编码后的字节解码成对应的明文

它俩操作都要通过unicode作为中间桥梁来链接

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,编码和解码

标签:pychar   可变   code   char   存储   等等   byte   arm   col   

原文地址:https://www.cnblogs.com/--kai/p/9409416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!