code: def is_dict_like(obj) -> bool:
      """
      Check if the object is dict-like.
  
      Parameters
      ----------
      obj : The object to check
  
      Returns
      -------
      bool
          Whether `obj` has dict-like properties.
  
      Examples
      --------
      >>> from pandas.api.types import is_dict_like
      >>> is_dict_like({1: 2})
      True
      >>> is_dict_like([1, 2, 3])
      False
      >>> is_dict_like(dict)
      False
      >>> is_dict_like(dict())
      True
      """
      dict_like_attrs = ("__getitem__", "keys", "__contains__")
      return (
          all(hasattr(obj, attr) for attr in dict_like_attrs)
          # [GH 25196] exclude classes
          and not isinstance(obj, type)
      )
  
file_path: catboost/contrib/python/pandas/py3/pandas/core/dtypes/inference.py
imports: from __future__ import annotations
  from collections import abc
  from numbers import Number
  import re
  from typing import Pattern
  import numpy
  from pandas._libs import lib
label_desc: Use image node_id 8 for calling a global function with example usage: is_dict_like(obj) and returns: unknown