通过内置对象理解 Python(八)

2021-12-08 08:44:38 浏览数 (1)

  • 通过内置对象理解 Python(一)
  • 通过内置对象理解 Python(二)
  • 通过内置对象理解 Python(三)
  • 通过内置对象理解 Python(四)
  • 通过内置对象理解 Python(五)
  • 通过内置对象理解 Python(六)
  • 通过内置对象理解 Python(七)

bytearray and memoryview: 字节接口

bytearraybytes 类似,它的意义体现在:

bytearray 在一些低级操作中,比如有关字节和位运算,使用 bytearray 对于改变单个字节会更有效。例如下面的魔幻操作:

代码语言:javascript复制
>>> def upper(s):
...     return ''.join(chr(ord(c) & 223) for c in s)
...
>>> def toggle(s): return ''.join(chr(ord(c) ^ 32) for c in s)
...
>>> def lower(s): return ''.join(chr(ord(c) | 32) for c in s)
...
>>> upper("Lao Qi")
'LAOx00QI'
>>> toggle("Lao Qi")
'lAOx00qI'
>>> lower("Lao Qi")
'lao qi'

字节的大小是固定的,而字符串则由于编码规则,其长度会有所不同,比如按照常用的 unicode 编码标准 utf-8 进行编码:

代码语言:javascript复制
>>> x = 'I♥


	

0 人点赞