美文网首页
Python2 和 Python3 字符串的区别

Python2 和 Python3 字符串的区别

作者: moon_light_ | 来源:发表于2020-01-29 01:28 被阅读0次

Python2

>>> 
>>> isinstance(b'abc', bytes)
True
>>> 
>>> isinstance(b'abc', str)
True
>>> 
>>> isinstance('abc', str)
True
>>> 
>>> isinstance('abc', bytes)
True
>>> 
>>> 
>>> 
>>> 'abc'.startswith('ab')
True
>>> 
>>> b'abc'.startswith('ab'.encode())
True
>>> 
>>> b'abc'.startswith('ab')
True
>>> 
>>> 'abc'.startswith('ab'.encode())
True
>>> 

Python3

>>> 
>>> isinstance(b'abc', bytes)
True
>>> 
>>> isinstance(b'abc', str)
False
>>> 
>>> isinstance('abc', str)
True
>>> 
>>> isinstance('abc', bytes)
False
>>> 
>>> 
>>> 
>>> 'abc'.startswith('ab')
True
>>> 
>>> b'abc'.startswith('ab'.encode())
True
>>> 
>>> b'abc'.startswith('ab')
Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    b'abc'.startswith('ab')
TypeError: startswith first arg must be bytes or a tuple of bytes, not str
>>> 
>>> 'abc'.startswith('ab'.encode())
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    'abc'.startswith('ab'.encode())
TypeError: startswith first arg must be str or a tuple of str, not bytes
>>> 

相关文章

网友评论

      本文标题:Python2 和 Python3 字符串的区别

      本文链接:https://www.haomeiwen.com/subject/xwhvthtx.html