python2和python3中str,bytes区别

python2中,有basestring、str、bytes、unicode四种类型

其中str == bytes ,basestring = str,unicode)

>>> isinstance's',str)
True
>>> isinstance's',bytes)
True
>>> isinstance's',unicode)
False
>>> isinstance's'.decode),unicode)
True
>>> isinstance's'.decode),basestring)
True
>>> isinstance's',basestring)
True
 

python3中,有str和bytes类型

>>> isinstance's',str)
True
>>> isinstance's',bytes)
False
>>> isinstance's',unicode)
Traceback most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'unicode' is not defined
>>> isinstanceb's',bytes)
True
>>> isinstance's',basestring)
Traceback most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'basestring' is not defined

Published by

风君子

独自遨游何稽首 揭天掀地慰生平