Na matemática, mais precisamente teoria das categorias, um functor ou funtor é um mapeamento entre categorias, preservando domínios, contradomínios, identidades e composições, analogamente a como, por exemplo, um homomorfismo de grupos preserva o elemento neutro e a operação do grupo.
Segundo Saunders Mac Lane, o conceito de functor foi, pela primeira vez, reconhecido na topologia algébrica, no estudo de grupos de homologia.
Definição
Dadas categorias C e D, um functor de C até D, escrito F : C → D, consiste
- de uma atribuição, a cada objeto x ∈ C, de um objeto F(x) ∈ D,
- de uma atribuição, a cada morfismo f : x → y, de um morfismo Fx, y(f) = F(f) : F(x) → F(y), (equivalentemente, dom(F(f)) = F(dom(f)) e cod(F(f)) = F(cod(f)))
satisfazendo
- F(1x) = 1F(x) para cada objeto x ∈ C,
- F(g ∘ f) = F(g) ∘ F(f) para cada dupla de morfismos f : x → y e g : y → z.
Chama-se esse F : C → D mais explicitamente de functor covariante. Há, também, o conceito de functor contravariante de C até D, atribuindo, a cada morfismo f : x → y, um morfismo G(f) : F(y) → F(x), satisfazendo G(1x) = 1G(x) e G(g ∘ f) = G(f) ∘ G(g); os functores contravariantes de C até D estão em correspondência biunívoca com os functores covariantes Cop → D, em que Cop denota a categoria oposta a C.
Por vezes, em vez de se dizer que F é functor (covariante ou contravariante), diz-se que a atribuição x ↦ F(x) é functorial.
Exemplos
- Dadas A e B categorias, com objeto b ∈ B, há o functor constante Δ(b) : A → B, com atribuição

- Se Set denota a categoria dos conjuntos pequenos, há Q functor contravariante de Set a Set, com atribuição
em que P(A) é o conjunto de partes de A, e f←(S) é a pré-imagem de S por f.
- Se K-Vet denota a categoria dos espaços vetoriais pequenos sobre um corpo K, há functor contravariante (_)* de K-Vet de K-Vet, com correspondência
em que U* = homK(U, K) denota o espaço dual a U.
- A atribuição de cada espaço com base (X, x) ao correspondente grupo fundamental π1(X, x) é functorial.
Bifunctor
Um bifunctor é um functor cujo domínio é um produto de categorias B × C. Dado bifunctor F : B × C → D e objeto c ∈ C, o functor F(–, c) : B → D é definido por:
De forma análoga, há o functor F(b, –) : C → D.
Categoria de categorias e functores
Para cada U universo de Grothendieck, há a categoria
(ou, brevemente,
) cujos objetos são as categorias que pertencem a U e cujos morfismos são os functores entre essas categorias.
Um conceito similar é a categoria de functores DC, cujos objetos são os functores C → D, e cujos morfismos são as transformações naturais entre esses functores.
Functor hom
Seja
uma categoria. Denotando-se por
uma categoria de conjuntos suficientemente grande, há functor
em que
é o conjunto de morfismos
, e, dados
,
morfismos em
,
