(
        self,
        study: Study,
        trial: FrozenTrial,
        state: TrialState,
        values: Optional[Sequence[float]],
    )
Trial post-processing.

        This method is called after the objective function returns and right before the trials is
        finished and its state is stored.

        .. note::
            Added in v2.4.0 as an experimental feature. The interface may change in newer versions
            without prior notice. See https://github.com/optuna/optuna/releases/tag/v2.4.0.

        Args:
            study:
                Target study object.
            trial:
                Target trial object.
                Take a copy before modifying this object.
            state:
                Resulting trial state.
            values:
                Resulting trial values. Guaranteed to not be :obj:`None` if trial succeeded.
Trial post-processing.
Trial post - processing .
def after_trial(
        self,
        study: Study,
        trial: FrozenTrial,
        state: TrialState,
        values: Optional[Sequence[float]],
    ) -> None:
        """Trial post-processing.

        This method is called after the objective function returns and right before the trials is
        finished and its state is stored.

        .. note::
            Added in v2.4.0 as an experimental feature. The interface may change in newer versions
            without prior notice. See https://github.com/optuna/optuna/releases/tag/v2.4.0.

        Args:
            study:
                Target study object.
            trial:
                Target trial object.
                Take a copy before modifying this object.
            state:
                Resulting trial state.
            values:
                Resulting trial values. Guaranteed to not be :obj:`None` if trial succeeded.

        """

        pass
def after_trial ( self , study : Study , trial : FrozenTrial , state : TrialState , values : Optional [ Sequence [ float ] ] , ) -> None : pass