class_docstr: Basic attributes of a :class:`~optuna.study.Study`.
  
  This class is private and not referenced by Optuna users.
  
  Attributes:
      study_name:
          Name of the :class:`~optuna.study.Study`.
      direction:
          :class:`~optuna.study.StudyDirection` of the :class:`~optuna.study.Study`.
  
          .. note::
              This attribute is only available during single-objective optimization.
      directions:
          A list of :class:`~optuna.study.StudyDirection` objects.
      user_attrs:
          Dictionary that contains the attributes of the :class:`~optuna.study.Study` set with
          :func:`optuna.study.Study.set_user_attr`.
      system_attrs:
          Dictionary that contains the attributes of the :class:`~optuna.study.Study` internally
          set by Optuna.
code: def __le__(self, other: Any) -> bool:
      if not isinstance(other, FrozenStudy):
          return NotImplemented
  
      return self._study_id <= other._study_id
  
file_path: optuna/optuna/study/_frozen.py
imports: from __future__ import annotations
  from collections.abc import Sequence
  from typing import Any
  from optuna import logging
  from optuna.study._study_direction import StudyDirection
label_desc: Use image node_id 4 for calling the FrozenStudy obj's underlying member method code with example usage: obj.__le__(other) and returns: unknown, NotImplemented