class_docstr: Discrete (with step) uniform float distribution.
  
  Parameters
  ----------
  lower: float
      Inclusive lower bound of distribution.
  upper: float
      Inclusive upper bound of distribution.
  q: float = None:
      Step. If None, will be equal to UniformDistribution.
  
  Warnings
  --------
  - Due to scikit-optimize not supporting discrete distributions,
  `get_skopt()` will return a standard uniform distribution.
code: def get_optuna(self):
      import optuna
  
      optuna_version = int(optuna.__version__[0])
  
      return (
          optuna.distributions.FloatDistribution(
              self.lower, self.upper, step=self.q
          )
          if optuna_version >= 3
          else optuna.distributions.DiscreteUniformDistribution(
              self.lower, self.upper, self.q
          )
      )
  
imports: from typing import Dict, Optional
  from scipy.stats import loguniform, randint, uniform
  from copy import copy
  import numpy
label_desc: Use image node_id 4 for calling the DiscreteUniformDistribution obj's underlying member method code with example usage: obj.get_optuna() and returns: unknown