What is the difference between b'' and '' in python?
本问题已经有最佳答案,请猛点这里访问。
我是一个python新手,对
我认为它们都是空的,但
它们在记忆内容方面是相同的,在导致不平等的类型方面是不同的吗?
Bytes literals are always prefixed with
'b' or'B' ; they produce an
instance of thebytes type instead of thestr type. They may only
contain ASCII characters; bytes with a numeric value of 128 or greater
must be expressed with escapes.
在python3中,不同类型的对象(不同的数字类型除外)之间的比较从不相等。
顺便说一句,对象的内存大小也不同:
1 2 3 4 5 | >>> from sys import getsizeof >>> getsizeof(b"") 33 >>> getsizeof("") 49 |
(这是给python3的):你的一个例子是
1 2 | print(type(b'')) # -> <class 'bytes'> print(type('')) # -> <class 'str'> |
在python2中基本上没有区别。在python3中,第一个是字节串或字节串,第二个是普通字符串。