python3中怎么判断传入的参数是否是unicode

网上的教程都说使用isinstance( XXX , unicode)来判断
但是我在python3下这么使用会报name 'unicode' is not defined的错误,想看一下isinstance()是怎么实现的,传入参数的说明,结果发现isinstance的定义是下面这个样子,完全看不出想要判断unicode该传入什么参数,顺带问一下为什么python好多自带的参数都是这么定义的,def XXX(): return none,没有功能实现的代码

def isinstance(object, class_or_type_or_tuple):
  """ isinstance(object, class-or-type-or-tuple) -> bool
  
  Return whether an object is an instance of a class or of a subclass thereof.
  With a type as second argument, return whether that is the object's type.
  The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for
  isinstance(x, A) or isinstance(x, B) or ... (etc.). """
  return None

回到正题,python3下该怎么判断是否unicode呢?

阅读 19.4k
2 个回答

Python 3中基本的str就是unicode,所以可以直接判断str:

>>> isinstance('s', str)
True

cpython底层是用C实现的,内置函数、对象的py源码只是摆设,给你提供点注释而已

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题