code: def is_hashable(obj):
      """Return True if hash(obj) will succeed, False otherwise.
  
      Some types will pass a test against collections.Hashable but fail when they
      are actually hashed with hash().
  
      Distinguish between these and other types by trying the call to hash() and
      seeing if they raise TypeError.
  
      Examples
      --------
      >>> a = ([],)
      >>> isinstance(a, collections.Hashable)
      True
      >>> is_hashable(a)
      False
      """
      # Unfortunately, we can't use isinstance(obj, collections.Hashable), which
      # can be faster than calling hash. That is because numpy scalars on Python
      # 3 fail this test.
  
      # Reconsider this decision once this numpy bug is fixed:
      # https://github.com/numpy/numpy/issues/5562
  
      try:
          hash(obj)
      except TypeError:
          return False
      else:
          return True
  
file_path: catboost/contrib/python/pandas/py2/pandas/core/dtypes/inference.py
imports: from numbers import Number
  import re
  import numpy
  from pandas._libs import lib
  from pandas.compat import PY2, Set, re_type, string_and_binary_types, string_types, text_type
  from pandas import compat
label_desc: Use image node_id 13 for calling a global function with example usage: is_hashable(obj) and returns: True, False