code: def is_dtype(cls, dtype):
          
          dtype = getattr(dtype, 'dtype', dtype)
  
          if isinstance(dtype, (ABCSeries, ABCIndexClass,
                                ABCDataFrame, np.dtype)):
              # https://github.com/pandas-dev/pandas/issues/22960
              # avoid passing data to `construct_from_string`. This could
              # cause a FutureWarning from numpy about failing elementwise
              # comparison from, e.g., comparing DataFrame == 'category'.
              return False
          elif dtype is None:
              return False
          elif isinstance(dtype, cls):
              return True
          try:
              return cls.construct_from_string(dtype) is not None
          except TypeError:
              return False
docs: Check if we match 'dtype'.
  
          Parameters
          ----------
          dtype : object
              The object to check.
  
          Returns
          -------
          is_dtype : bool
  
          Notes
          -----
          The default implementation is True if
  
          1. ``cls.construct_from_string(dtype)`` is an instance
             of ``cls``.
          2. ``dtype`` is an object and is an instance of ``cls``
          3. ``dtype`` has a ``dtype`` attribute, and any of the above
             conditions is true for ``dtype.dtype``.