Covariance, contravariance and all that jazz For the love of God, can someone explain to me the difference between functors of the form $\mathcal{C}^{\text{op}}\to \mathcal{D}$, $\mathcal{C}\to \mathcal{D}^{\text{op}}$ and $\mathcal{C}^{\text{op}}\to \mathcal{D}^{\text{op}}$? 
I really do not understand how to tell what kind of functor an assignment gives: say that I know how a functor $F$  is defined on the objects and morphisms of a domain category $\mathcal{C}$, and I want to know its variance (is this a proper word?). Suppose that I do the usual thing, where I consider a morphism $f:A\to B$ in $\mathcal{C}$, and I find that $F(f)$ goes the other way, namely $F(f):F(B)\to F(A)$ in the target category $\mathcal{D}$. Is then $F$ a functor $\mathcal{C}^{\text{op}}\to\mathcal{D}$ or a functor $\mathcal{C}\to\mathcal{D}^{\text{op}}$?
 A: $-^{\rm op}$ is a self-inverse functor $\mathbf{Cat}\to\mathbf{Cat}$, so whenever you have an $F:\mathcal C\to\mathcal D$, you will also have $F^{\rm op}:\mathcal C^{\rm op}\to\mathcal D^{\rm op}$ simply by changing how you label things. In many contexts it doesn't even pay do distinguish strictly between $F$ and $F^{\rm op}$, and we can say they are simply two ways of looking at the same functor.
Since $-^{\rm op}$ is self-inverse, we have $(\mathcal C^{\rm op})^{\rm op}=\mathcal C$, so if we have $G:\mathcal C^{\rm op}\to\mathcal D$ we can also look at this as $G^{\rm op}:\mathcal C\to\mathcal D^{\rm op}$ -- and again there is often no need to distinguish strictly between these.
In sum, a covariant functor can be viewed either as $\mathcal C\to\mathcal D$ or as $\mathcal C^{\rm op}\to\mathcal D^{\rm op}$.
A "contravariant functor" from $\mathcal C$ to $\mathcal D$ is the same as an ordinary functor $\mathcal C^{\rm op}\to\mathcal D$ or $\mathcal C\to\mathcal D^{\rm op}$; these two descriptions are equivalent.
A: The phrase "a functor from $\mathcal{C}^{op}$ to $\mathcal{D}$ is the same as a functor from $\mathcal{C}$ to $\mathcal{D}^{op}$" means that there exists an isomorphism of categories:
$$
[{\mathcal{C}^{op}},\mathcal{D}]\cong[{\mathcal{C}},{\mathcal{D}^{op}}]^{op}.
$$
The phrase "a functor from $\mathcal{C}^{op}$ to $\mathcal{D}^{op}$ is the same as a functor from $\mathcal{C}$ to $\mathcal{D}$" means that there exists an isomorphism of categories:
$$
[{\mathcal{C}^{op}},\mathcal{D}^{op}]\cong[{\mathcal{C}},{\mathcal{D}}]^{op}.
$$
You can find an exact description of such isomorphism in my answer. It's easy to obtain the first isomorphism from the second by replacing $\mathcal{D}$ to $\mathcal{D}^{op}$.
A: In your example, the answer is yes. Your functor can be viewed as a contravariant functor $ \mathcal{C} \to \mathcal{D} $ or a covariant functor $ \mathcal{C}^\text{op} \to \mathcal{D} $ or a covariant functor $ \mathcal{C} \to \mathcal{D}^\text{op} $.
None of these is wrong, and you can view your functor in any of these ways.
