首页 > 编程语言 > 详细

python字符串,赋值和is的区别

时间:2019-01-23 15:04:14      阅读:182      评论:0      收藏:0      [点我收藏+]

1. == 与 is 的区别

赋值 == 比较值是否相等,is 比较,比较的是内存地址。

小数据池的作用是节省内存空间

数字的范围:-5 到 256 共用一个数据池

字符串范围:1.不能有特殊字符。2. s*20还是同一个地址,超过以后就是不用地址  3.不同字符超过20仍然is

剩下的 列表,元祖等没有小地址池

2. python3中的编码

ascii
    一个字符1个字节,占8位
    A:00000010

unicode
    一个字符4个字节,占32位
    A:00000000 00000001 00000010 00000010
    中:

utf-8
    一个英文字符,8位
    一个中文字符,占24位

gbk
    A:一个字符,8位
    中:一个中文字符,16位

    1.各个编码2 进制不能识别,会产生乱码
    2.文件的存储和传输不能是unicode

3.python中的bytes类型

‘‘‘
对于英文:
    str:    
            表现形式: s = ‘alex‘
            编码方式: 01010101  unicode
    bytes:
            表现形式: s = b‘alex‘
            编码方式: 01010101  utf-8 gbk
    
对于中文:
    str:    
            表现形式: s = ‘中国‘
            编码方式: 01010101  unicode
    bytes:
            表现形式: s = b‘x\e91\e91\e01\e21\e31\e32‘ 3字节表示一个中文,utf-8;若2个字节1个汉字,gbk
            编码方式: 01010101  utf-8 gbk
    
‘‘‘
s1 = alex
# 将 unicode 转换成utf-8 或gdk,表现形式是将str 转换成bytes,
# encode 编码,如何将str --> bytes,
s11 = s1.encode(utf-8)
print(s11)

 

python字符串,赋值和is的区别

原文:https://www.cnblogs.com/jiuyachun/p/10308890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!