human
Complete this python program:
def _arithmetic(op):
assistant
#Here is the Python program you requested.

    """Decorator factory which temporarly disables the need for a unit when
    creating a new CCDData instance. The final result must have a unit.
    Parameters
    op : function
    The function to apply. Supported are:
    - ``np.add``
    - ``np.subtract``
    - ``np.multiply``
    - ``np.true_divide``
    Notes
    Should only be used on CCDData ``add``, ``subtract``, ``divide`` or
    ``multiply`` because only these methods from NDArithmeticMixin are
    overwritten.
    """
    def decorator(func):
        def inner(self, operand, operand2=None, **kwargs):
            global _config_ccd_requires_unit
            _config_ccd_requires_unit = False
            result = self._prepare_then_do_arithmetic(op, operand, operand2, **kwargs)
            _config_ccd_requires_unit = True
            return result.__class__(result)
        inner.__doc__ = u'See    `astropy.nddata.NDArithmeticMixin.{}`.'.format(func.__name__)
        return sharedmethod(inner)
    return decorator