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

Posted 恶灵酒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python字符串,赋值和is的区别相关的知识,希望对你有一定的参考价值。

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‘xe91e91e01e21e31e32‘ 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的区别的主要内容,如果未能解决你的问题,请参考以下文章

Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段

python中的 == 和 is 的区别

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

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段

pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码

Python:'is'和'=='有啥区别? [复制]