<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rvs(self, random_state=None):
 r""" Draw a random value from this Parameter's distribution. If ``value`` was not initialised with a ``scipy.stats`` object, then the scalar/ndarray value is returned. Parameters random_state : None, int or RandomState, optional random seed Returns ------- ndarray : of size ``self.shape``, a random draw from the distribution, or ``self.value`` if not initialised with a ``scipy.stats`` object. Note ---- Random draws are *clipped* to the bounds, and so it is up to the user to input a sensible sampling distribution! """

        # No sampling distibution
        if self.dist is None:
            return self.value

        # Unconstrained samples
        rs = check_random_state(random_state)
        samples = self.dist.rvs(size=self.shape, random_state=rs)

        # Bound the samples
        samples = self.bounds.clip(samples)

        return samples