Details

You can think of Derivative as a functional operator which acts on functions to give derivative functions.

Derivative is generated when you apply D to functions whose derivatives the Wolfram Language does not know.

The Wolfram Language attempts to convert Derivative[n][f] and so on to pure functions. Whenever Derivative[n][f] is generated, the Wolfram Language rewrites it as D[f[#],{#,n}]&. If the Wolfram Language finds an explicit value for this derivative, it returns this value. Otherwise, it returns the original Derivative form.

Derivative[{n1,n2,…}][f] represents the derivative of f[{x1,x2,…}] taken ni times with respect to xi. In general, arguments given in lists in f can be handled by using a corresponding list structure in Derivative.