美文网首页
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