根据PEP 358, bytes 对象用于存储可变的字节序列 (0-255),如果不是这种情况则引发。
然而,我的 python 2.7 却另有说法
>>> bytes([1,2,3])
'[1, 2, 3]'
>>> bytes([280])
'[280]'
>>> bytes is str
True
>>> bytes
<type 'str'>
有谁知道 PEP 被宣布为 Final 但实施不符合的原因吗?
The new bytes
type is 3.x only。 2.xbytes
内置只是一个别名str
类型。没有新类型称为bytes
在 2.x 中;只是一个新的别名和文字语法str
.
这是文档片段所有人都喜欢:
Python 2.6 增加了bytes
作为同义词
这str
类型,并且它还支持b''
符号。
The 2.6 str
与3.0的字节不同
以多种方式输入;最为显着地,
构造函数完全是
不同的。在3.0中,bytes([65, 66, 67])
长度为 3 个元素,包含
字节代表ABC
;在2.6中,bytes([65, 66, 67])
返回
12 字节字符串表示str()
列表中的。
主要用途bytes
在2.6中将
是编写对象类型的测试,例如
作为isinstance(x, bytes)
。这会
帮助2to3
转换器,不能
判断 2.x 代码是否是字符串
包含字符或 8 位
字节;你现在可以使用bytes
or
str
来代表你的意图
准确地说,生成的代码将
在 Python 3.0 中也是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)