<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_temperature(self, temp: float, hold_time: float = None, ramp_rate: float = None):
 """ Set the target temperature, in C. Valid operational range yet to be determined. :param temp: The target temperature, in degrees C. :param hold_time: The time to hold after reaching temperature. If ``hold_time`` is not specified, the Thermocycler will hold this temperature indefinitely (requiring manual intervention to end the cycle). :param ramp_rate: The target rate of temperature change, in degC/sec. If ``ramp_rate`` is not specified, it will default to the maximum ramp rate as defined in the device configuration. """

        return self._module.set_temperature(
            temp=temp, hold_time=hold_time, ramp_rate=ramp_rate)