Python Funções Embutidas

Esta é a página de consulta rápida das funções embutidas (em inglês, built-in functions): as 71 funções que já vêm prontas no Python 3.14 e funcionam em qualquer programa, sem import. Elas estão agrupadas pelo que fazem: mostrar, converter, fazer contas, percorrer listas, examinar objetos e rodar código. Cada linha traz um exemplo curto e o resultado que ele dá de verdade. A explicação passo a passo das mais usadas, com exercícios, está na aula Funções Embutidas (len, sum, max…).

Como ler as tabelas
  • Exemplo é o que você digitaria depois do >>> do modo interativo.
  • Resultado é o que o Python 3.14.4 respondeu no computador da Ana. Textos aparecem entre aspas ('Ana'), como o modo interativo mostra; com print() as aspas não aparecem.
  • Quando o exemplo dá erro, o resultado mostra a última linha da mensagem (o tipo do erro e a explicação, em inglês). A mensagem completa, com o Traceback, aparece logo abaixo.
  • Algumas "funções" da lista, como int, str e list, são na verdade classes (tipos). Você as chama como funções para criar ou converter valores, e por isso a documentação oficial as põe na mesma lista.
  • Resultados com 0x… (endereços na memória) mudam a cada execução.

Assim fica no terminal. Repare como o Python, quando dá erro, sublinha a parte da linha que falhou (~~~^^^^):

$ python3 -q
>>> round(8.5)
8
>>> sorted(["Bia", "ana", "Caio"], key=str.lower)
['ana', 'Bia', 'Caio']
>>> divmod(17, 5)
(3, 2)
>>> len(42)
Traceback (most recent call last):
  File "<python-input-3>", line 1, in <module>
    len(42)
    ~~~^^^^
TypeError: object of type 'int' has no len()
>>> max([])
Traceback (most recent call last):
  File "<python-input-4>", line 1, in <module>
    max([])
    ~~~^^^^
ValueError: max() iterable argument is empty
>>> exit()

A última linha de cada erro diz o que houve: TypeError: object of type 'int' has no len() = "um objeto do tipo int não tem tamanho" (número não tem len); ValueError: max() iterable argument is empty = "o argumento do max() está vazio" (não há maior numa lista vazia).

Pule direto para o grupo que você procura:


Mostrar e ler

FunçãoO que fazExemploResultadoAula
print(valores…)Mostra os valores na tela, separados por um espaço, e pula a linha no fim (print = "imprimir").print("Ana", 7.5, True)Ana 7.5 Trueprint()
sep= troca o separadorprint("Ana", "Bia", sep=", ")Ana, BiaAs Opções sep e end
end= troca o fim da linha (o padrão é "\n", a quebra de linha)print("sem pular", end="!")sem pular! (e o próximo texto continua na mesma linha)As Opções sep e end
file= escreve num arquivo aberto em vez da telaprint("pão", file=arq)a linha pão vai para o arquivoEscrevendo Arquivos
input(pergunta)Mostra a pergunta, espera a pessoa digitar e apertar Enter e devolve o que ela digitou, sempre como texto (str).nome = input("Nome: ")a tela mostra Nome: ; se a Ana digitar Ana, nome vale 'Ana'input()
repr(x)O valor escrito "como no código": textos com aspas, caracteres especiais à mostra. É o que o modo interativo usa para mostrar resultados.print(repr("olá\n"))'olá\n'Métodos Especiais
repr("Ana")"'Ana'"
ascii(x)Como o repr, mas troca as letras fora do ASCII (acentos, ç) por códigos \x….ascii("Conceição")"'Concei\\xe7\\xe3o'"Caracteres de Escape
format(valor, especificação)Formata um valor com as mesmas regras do {:…} das f-strings.format(3.14159, ".2f")'3.14'Formatação
separador de milharformat(1234.5, ",.2f")'1,234.50'
format(1234567, "_")'1_234_567'
porcentagemformat(0.25, ".0%")'25%'
alinhar à direita em 6 posiçõesformat("Ana", ">6")'   Ana'f-strings

Converter tipos (e criar valores)

Cada tipo do Python tem uma função com o mesmo nome que converte (transforma) um valor para aquele tipo. Chamada sem nada, ela cria um valor "vazio": int() é 0, str() é '', list() é [].

FunçãoO que fazExemploResultadoAula
int(x)Converte para número inteiro (integer).int("42")42Conversão de Tipos
De um float, corta as casas decimais (não arredonda)int(7.9), int(-7.9)7, -7
Texto com ponto não vira intint("7.5")ValueError: invalid literal for int() with base 10: '7.5'
int(texto, base)Lê o texto numa outra base: 2 (binário), 16 (hexadecimal)…int("101", 2), int("ff", 16)5, 255Números
float(x)Converte para número com casas decimais (float, "ponto flutuante"). Use ponto, não vírgula.float("7.5")7.5Conversão de Tipos
aceita notação científica e infinitofloat("1e3"), float("inf")1000.0, inf
texto que não é númerofloat("abc")ValueError: could not convert string to float: 'abc'
str(x)Converte qualquer valor em texto (string).str(42), str(None)'42', 'None'Strings
bool(x)Diz se o valor conta como verdadeiro. Zero, texto vazio, lista vazia e None são False; o resto é True.bool(0), bool(""), bool([])False, False, FalseBooleanos
Cuidado: o texto "0" não é vazio!bool("0"), bool([0])True, True
complex(real, imag)Número complexo (com a parte imaginária j).complex(2, 3)(2+3j)Números
list(x)Cria uma lista com os itens de x.list("Ana")['A', 'n', 'a']Listas
list(range(4))[0, 1, 2, 3]
tuple(x)Cria uma tupla (uma sequência que não muda).tuple([1, 2, 3])(1, 2, 3)Tuplas
set(x)Cria um conjunto: sem repetidos e sem ordem garantida.set([3, 1, 3, 2, 1]){1, 2, 3}Conjuntos
frozenset(x)Conjunto "congelado": não muda depois de criado.frozenset([2, 1, 2])frozenset({1, 2})Métodos de Conjunto
dict(…)Cria um dicionário, com argumentos nomeados…dict(nome="Ana", idade=30){'nome': 'Ana', 'idade': 30}Dicionários
…ou com uma lista de paresdict([("pão", 0.5), ("leite", 4.0)]){'pão': 0.5, 'leite': 4.0}
bytes(texto, codificação)Os bytes do texto (o que é gravado no disco). Em UTF-8, o á ocupa 2 bytes.bytes("olá", "utf-8")b'ol\xc3\xa1'Abrindo Arquivos
com um número: tantos bytes zeradosbytes(3)b'\x00\x00\x00'
bytearray(x)Como bytes, mas pode ser alterado.bytearray(b"pao")bytearray(b'pao')
chr(n)A letra que tem o código Unicode n (character).chr(65), chr(233)'A', 'é'Strings
ord(letra)O contrário: o código Unicode da letra.ord("A"), ord("ç")65, 231
bin(n)O inteiro escrito em binário, como texto.bin(10)'0b1010'Números
oct(n)Em octal (base 8).oct(8)'0o10'
hex(n)Em hexadecimal (base 16).hex(255)'0xff'
Novo no 3.14: float.from_number() 3.14

O Python 3.14 ganhou float.from_number(x) e complex.from_number(x): convertem um número e recusam texto (dão TypeError), ao contrário de float("7.5"). No lab: float.from_number(5) deu 5.0. Elas não estão na lista de funções embutidas (são métodos dos tipos float e complex), e não existem no Python 3.13.


Números e contas

FunçãoO que fazExemploResultadoAula
abs(x)Valor absoluto: o número sem o sinal.abs(-7), abs(-2.5)7, 2.5Funções Embutidas
round(x)Arredonda para o inteiro mais próximo. No meio exato, vai para o par.round(7.5), round(8.5)8, 8Funções Embutidas
round(x, casas)Arredonda para tantas casas decimais.round(7.456, 2)7.46
casas negativas arredondam dezenas, centenas…round(1234, -2)1200
o 2.675 guardado no computador é um pouco menor que 2.675round(2.675, 2)2.67Números
pow(base, exp)Potência, como base ** exp.pow(2, 10), pow(2, -1)1024, 0.5Operadores Aritméticos
pow(base, exp, mod)Potência e depois o resto da divisão por mod, de um jeito rápido.pow(3, 4, 5)1 (81 dividido por 5 deixa resto 1)
divmod(a, b)O quociente inteiro e o resto, juntos: o mesmo que (a // b, a % b).divmod(17, 5)(3, 2)Operadores Aritméticos
com negativos, o quociente arredonda para baixodivmod(-17, 5)(-4, 3)
sum(itens)Soma todos os itens.sum([7.5, 8.0, 6.5])22.0Funções Embutidas
sum(itens, inicio)Começa a soma de um valor (o padrão é 0).sum([1, 2, 3], 10)16
somar decimais é preciso desde o 3.12sum([0.1] * 10)1.0
min(…)O menor: de vários valores ou dos itens de uma lista.min(7.5, 8.0, 6.5)6.5Funções Embutidas
num texto, a "menor" letramin("banana")'a'
max(…)O maior.max([7.5, 8.0, 6.5])8.0Funções Embutidas
key= compara por um critério (aqui, o tamanho)max(["arroz", "sal", "macarrão"], key=len)'macarrão'
ignorando maiúsculasmin(["Bia", "ana", "Caio"], key=str.lower)'ana'
default= para a lista vaziamax([], default=0)0
sem defaultmax([])ValueError: max() iterable argument is empty
Python mais antigo

Até o Python 3.11, sum([0.1] * 10) dava 0.9999999999999999 (ilustrativo: o laboratório do guia só tem o 3.14). Desde o 3.12, o sum() soma números decimais com um método mais preciso. O resultado 1.0 desta tabela é o do Python 3.14.


Contar, ordenar e percorrer

FunçãoO que fazExemploResultadoAula
len(x)Quantos itens (ou letras) tem (length = "comprimento"). Letra acentuada conta 1.len("Conceição")9Funções Embutidas
lista, dicionário (conta as chaves)len([7.5, 8.0, 6.5]), len({"a": 1, "b": 2})3, 2
número não tem tamanholen(42)TypeError: object of type 'int' has no len()
sorted(x)Uma lista nova, em ordem. O original não muda.sorted([3, 1, 2])[1, 2, 3]Ordenando Listas
do maior para o menorsorted([3, 1, 2], reverse=True)[3, 2, 1]
maiúsculas vêm antes das minúsculas…sorted(["Bia", "ana", "Caio"])['Bia', 'Caio', 'ana']
…a não ser com key=str.lowersorted(["Bia", "ana", "Caio"], key=str.lower)['ana', 'Bia', 'Caio']
de um dicionário, ordena as chavessorted({"pão": 0.5, "café": 18.9})['café', 'pão']Percorrendo um Dicionário
reversed(x)Percorre de trás para a frente. Devolve um iterador (veja abaixo), não uma lista.list(reversed([1, 2, 3]))[3, 2, 1]Ordenando Listas
sem o list(), você vê só o iteradorreversed([1, 2, 3])<list_reverseiterator object at 0x…>
enumerate(x)Dá cada item junto com a sua posição.list(enumerate(["pão", "leite"]))[(0, 'pão'), (1, 'leite')]enumerate() e zip()
start= muda o número iniciallist(enumerate(["pão", "leite"], start=1))[(1, 'pão'), (2, 'leite')]
zip(a, b, …)Anda em várias listas ao mesmo tempo, formando pares.list(zip(["pão", "leite"], [0.5, 4.0]))[('pão', 0.5), ('leite', 4.0)]enumerate() e zip()
junto com dict()dict(zip(["pão", "leite"], [0.5, 4.0])){'pão': 0.5, 'leite': 4.0}
para na menorlist(zip([1, 2, 3], "ab"))[(1, 'a'), (2, 'b')]
strict=True exige o mesmo tamanholist(zip([1, 2, 3], "ab", strict=True))ValueError: zip() argument 2 is shorter than argument 1
map(função, x)Aplica a função em cada item.list(map(int, ["7", "8", "10"]))[7, 8, 10]map() e filter()
list(map(str.upper, ["pão", "café"]))['PÃO', 'CAFÉ']
com duas listas, a função recebe um item de cadalist(map(pow, [2, 3], [3, 2]))[8, 9]
3.14 strict=True, como no ziplist(map(pow, [2, 3, 4], [3, 2], strict=True))ValueError: map() argument 2 is shorter than argument 1
filter(função, x)Fica só com os itens em que a função responde verdadeiro.list(filter(lambda n: n >= 7, [7.5, 5.0, 8.0]))[7.5, 8.0]map() e filter()
com None, tira os valores "vazios"list(filter(None, [0, 3, "", "Ana", None]))[3, 'Ana']
range(fim)Os inteiros de 0 até antes do fim.list(range(5))[0, 1, 2, 3, 4]range()
range(início, fim, passo)Começando em início, de passo em passo.list(range(1, 11, 3))[1, 4, 7, 10]
passo negativo conta para tráslist(range(10, 0, -2))[10, 8, 6, 4, 2]
sem o list()range(5)range(0, 5)
iter(x)Cria um iterador: um "marcador" que entrega um item por vez.it = iter(["pão", "leite"])(nada aparece)Iteradores
next(it)O próximo item do iterador.next(it), next(it)'pão', 'leite'Iteradores
quando acabam os itensnext(it)StopIteration
com um valor padrão, não dá erronext(it, "acabou")'acabou'
all(x)"Todos são verdadeiros?"all([True, True, False])FalseFunções Embutidas
todas as notas são pelo menos 5?all(n >= 5 for n in [7.5, 5.0, 8.0])True
de uma lista vaziaall([])True
any(x)"Algum é verdadeiro?"any([False, 0, "Ana"])TrueFunções Embutidas
de uma lista vaziaany([])False
slice(início, fim)Uma fatia guardada numa variável, para usar com [ ].fatia = slice(1, 3)
"Python"[fatia]
'yt'Índices e Fatias
a mesma fatia numa lista[10, 20, 30, 40][fatia][20, 30]
Por que tanto list(…)?

reversed, enumerate, zip, map e filter não montam a lista inteira de uma vez: entregam um item por vez, quando você pede (num for, por exemplo). Por isso gastam pouca memória. Para ver todos os itens no modo interativo, ponha dentro de list(). Num for, use direto: for i, item in enumerate(lista):.


Examinar objetos

Nos exemplos com p, a Ana criou antes uma classe vazia e um produto: class Produto: pass e p = Produto().

FunçãoO que fazExemploResultadoAula
type(x)O tipo do valor.type(7.5), type("Ana")<class 'float'>, <class 'str'>Descobrindo o Tipo
isinstance(x, tipo)"x é desse tipo?" Aceita uma tupla de tipos.isinstance(7.5, (int, float))TrueDescobrindo o Tipo
True também conta como intisinstance(True, int)TrueBooleanos
issubclass(A, B)"A classe A herda de B?"issubclass(bool, int)TrueHerança
id(x)Um número que identifica o objeto enquanto ele existe (muda a cada execução). Dois nomes com o mesmo id são o mesmo objeto.id(p) == id(p)Trueis e in
hash(x)O "resumo" numérico que dicionários e conjuntos usam. Só existe para valores que não mudam.hash(42)42Mutável × Imutável
lista pode mudar, então não tem hashhash([1, 2])TypeError: unhashable type: 'list'
callable(x)"Dá para chamar com ( )?" Funções e classes, sim.callable(len), callable(42)True, FalseFunções
dir(x)A lista de nomes (atributos e métodos) do objeto. Sem argumento, os nomes que existem agora.[n for n in dir("") if not n.startswith("_")][:5]['capitalize', 'casefold', 'center', 'count', 'encode']Atributos e Métodos
setattr(obj, nome, valor)Cria ou troca um atributo pelo nome escrito num texto. O mesmo que p.preco = 4.5.setattr(p, "preco", 4.5)(nada aparece)Atributos e Métodos
getattr(obj, nome)Lê um atributo pelo nome.getattr(p, "preco")4.5
com um valor padrãogetattr(p, "estoque", 0)0
sem padrão, se não existegetattr(p, "estoque")AttributeError: 'Produto' object has no attribute 'estoque'
hasattr(obj, nome)"Tem esse atributo?"hasattr(p, "preco")True
vars(obj)Os atributos do objeto, num dicionário.vars(p){'preco': 4.5}Classes e Objetos
delattr(obj, nome)Apaga um atributo. O mesmo que del p.preco.delattr(p, "preco") e depois vars(p){}

Para escrever classes

FunçãoO que fazUsoAula
objectA classe "mãe" de todas as classes. Toda classe herda dela, mesmo sem escrever.issubclass(Produto, object) → TrueHerança
propertyFaz um método ser lido como atributo (sem parênteses). Usada como @property.conta.saldo@property
classmethodMétodo que recebe a classe (cls) em vez do objeto. Usada como @classmethod.Conta.vazia()@classmethod e @staticmethod
staticmethodMétodo que não recebe nem o objeto nem a classe. Usada como @staticmethod.Conta.taxa()@classmethod e @staticmethod
super()Chama o método da classe mãe, de dentro da classe filha.super().__init__(saldo)Herança

As quatro juntas, num programa da Ana:

class Conta:
    def __init__(self, saldo):
        self._saldo = saldo

    @property
    def saldo(self):
        return self._saldo

    @classmethod
    def vazia(cls):
        return cls(0)

    @staticmethod
    def taxa():
        return 2.5

class Poupanca(Conta):
    def __init__(self, saldo):
        super().__init__(saldo)
        self.juros = 0.5

print(Conta(100).saldo)
print(Conta.vazia().saldo)
print(Conta.taxa())
print(Poupanca(50).saldo)
$ python3 conta.py
100
0
2.5
50

Código, escopo, arquivos e bytes

FunçãoO que fazExemploResultadoAula
open(caminho, modo)Abre um arquivo para ler ("r"), escrever ("w") ou acrescentar ("a"). Use com with e diga a codificação.with open("lista.txt", "w", encoding="utf-8") as arq:cria lista.txtAbrindo Arquivos
help(x)Mostra a ajuda de uma função, classe ou módulo. No modo interativo, abre num visualizador: saia com q.help(len)len(obj, /)
Return the number of items in a container.
O Modo Interativo
eval(texto)Calcula uma expressão escrita num texto e devolve o valor.eval("2 + 3 * 4")14
com um dicionário de variáveiseval("preco * 2", {"preco": 4.5})9.0
exec(texto)Roda comandos escritos num texto. Não devolve nada.exec("total = 10 + 5") e depois total15
compile(texto, nome, modo)Transforma o texto em código pronto para eval ou exec.eval(compile("1 + 1", "<texto>", "eval"))2
globals()Dicionário com as variáveis globais (do programa todo)."total" in globals()TrueEscopo
locals()Dicionário com as variáveis locais (da função que está rodando).def f():
    x = 1
    return locals()
f()
{'x': 1}Escopo
__import__(nome)O que o import usa por baixo. No seu código, prefira import.m = __import__("math")
m.sqrt(16)
4.0Módulos e import
memoryview(x)Uma "janela" para os bytes de outro objeto, sem copiá-los.mv = memoryview(b"Ana")
mv[0], bytes(mv[1:])
65, b'na'
aiter(x), anext(it)Os iter e next da programação assíncrona: usados com await, dentro de async def.print(await anext(it))o próximo item (no programa abaixo, 3)asyncio
breakpoint()Pausa o programa naquela linha e abre o depurador pdb, para você olhar as variáveis.breakpoint()aparece o prompt (Pdb)Depurando com pdb
import asyncio

async def contagem():
    for n in [3, 2, 1]:
        yield n

async def main():
    it = aiter(contagem())
    print(await anext(it))
    print(await anext(it))

asyncio.run(main())
$ python3 contagem.py
3
2
Nunca use eval ou exec com o que o usuário digitou

eval(input()) roda qualquer código que a pessoa digitar, inclusive um que apague arquivos. Para transformar o que foi digitado em número, use int() ou float().

Só no modo interativo: exit, quit, copyright, credits, license

Estes cinco nomes também existem sem import, mas não estão na lista oficial de funções embutidas: o Python os acrescenta ao começar, para o modo interativo. exit() e quit() saem do >>>. Num programa, para encerrar, use sys.exit() (veja Os Módulos os e sys).


Experimente

Missão: a Ana anotou os preços da feira numa lista. Troque os ? pelas funções embutidas certas (len, sum, max e min) para mostrar 4 itens, total R$ 36.8, mais caro R$ 18.9, mais barato R$ 0.5. Use round(…, 2) no total.

precos = [4.5, 12.9, 0.5, 18.9]

quantos = "?"
total = "?"
mais_caro = "?"
mais_barato = "?"
print(f"{quantos} itens, total R$ {total}, mais caro R$ {mais_caro}, mais barato R$ {mais_barato}")
precos = [4.5, 12.9, 0.5, 18.9]

quantos = len(precos)
total = round(sum(precos), 2)
mais_caro = max(precos)
mais_barato = min(precos)
print(f"{quantos} itens, total R$ {total}, mais caro R$ {mais_caro}, mais barato R$ {mais_barato}")

Livre: teste qualquer função desta página. Troque os valores, junte funções umas dentro das outras.

nomes = ["Bia", "ana", "Caio", "Davi"]
notas = [8.5, 9.0, 6.5, 7.0]

print(sorted(nomes, key=str.lower))
print(list(zip(nomes, notas)))
for posicao, nome in enumerate(nomes, start=1):
    print(posicao, nome)
print("Todos passaram?", all(n >= 7 for n in notas))
print("Alguém tirou 9 ou mais?", any(n >= 9 for n in notas))
print(type(notas), len(notas), round(sum(notas) / len(notas), 2))

Todas de A a Z

As 71 funções da lista oficial do Python 3.14 (docs.python.org/3/library/functions.html), cada uma com o grupo onde ela aparece nesta página.

FunçõesGrupo
abs · aiter · all · anext · any · asciicontas · código · percorrer · código · percorrer · mostrar
bin · bool · breakpoint · bytearray · bytesconverter · converter · código · converter · converter
callable · chr · classmethod · compile · complexobjetos · converter · classes · código · converter
delattr · dict · dir · divmodobjetos · converter · objetos · contas
enumerate · eval · execpercorrer · código · código
filter · float · format · frozensetpercorrer · converter · mostrar · converter
getattr · globalsobjetos · código
hasattr · hash · help · hexobjetos · objetos · código · converter
id · input · int · isinstance · issubclass · iterobjetos · mostrar · converter · objetos · objetos · percorrer
len · list · localspercorrer · converter · código
map · max · memoryview · minpercorrer · contas · código · contas
nextpercorrer
object · oct · open · ordclasses · converter · código · converter
pow · print · propertycontas · mostrar · classes
range · repr · reversed · roundpercorrer · mostrar · percorrer · contas
set · setattr · slice · sorted · staticmethod · str · sum · superconverter · objetos · percorrer · percorrer · classes · converter · contas · classes
tuple · typeconverter · objetos
varsobjetos
zippercorrer
__import__código
E no Python 3.15?

A documentação do Python 3.15 (lançado em outubro de 2026) acrescenta duas funções embutidas à lista, que passa a ter 73: frozendict (um dicionário que não muda depois de criado, como o frozenset é para o set) e sentinel (para criar valores "marcadores" únicos). Elas não existem no Python 3.14, o do Ubuntu 26.04 e o do editor do guia; por isso esta página não traz exemplos delas. Veja Novidades do Python 3.14 e 3.15.

Não use esses nomes nas suas variáveis

Se você escrever sum = 0, list = [1, 2] ou max = 10, a função embutida fica escondida pela sua variável, e a próxima chamada dá TypeError: 'int' object is not callable. O caso completo está na aula Funções Embutidas. Prefira total, itens, maior.


Resumo

  • São 71 funções embutidas no Python 3.14: estão sempre disponíveis, sem import.
  • Mostrar e ler: print, input (que sempre devolve texto), repr, format.
  • Converter: int, float, str, bool, list, tuple, set, dict; e chr/ord entre letras e códigos.
  • Contas: abs, round (no meio vai para o par), pow, divmod, sum, min, max (com key= e default=).
  • Percorrer: len, sorted, reversed, enumerate, zip, map, filter, range, all, any. Várias devolvem um iterador: use list() para ver.
  • Examinar: type, isinstance, dir, vars, getattr/setattr/hasattr/delattr.
  • 3.14 map() ganhou strict=True; float.from_number() e complex.from_number() são novos.