random — gera números aleatórios¶
Este módulo implementa um gerador de números pseudoaleatórios (PRNG). O PRNG é um LCG de 32 bits no estilo Yasmarang; na primeira importação, ele obtém uma semente de 32 bits da mesma fonte de hardware que os.urandom() usa, e cada número subsequente é uma função determinística dessa semente.
Aviso
A saída não é criptograficamente segura – o algoritmo é previsível a partir de uma sequência curta de saída, e a semente inicial carrega apenas 32 bits de entropia. Para material de chaveamento, tokens de sessão, salts de senha ou qualquer outro uso sensível à segurança, chame os.urandom() em vez disso.
Nota
A seguinte notação é usada para intervalos:
() são colchetes de intervalo aberto e não incluem seus extremos. Por exemplo, (0, 1) significa maior que 0 e menor que 1. Em notação de conjuntos: (0, 1) = {x | 0 < x < 1}.
[] são colchetes de intervalo fechado que incluem todos os seus pontos-limite. Por exemplo, [0, 1] significa maior ou igual a 0 e menor ou igual a 1. Em notação de conjuntos: [0, 1] = {x | 0 <= x <= 1}.
Funções para inteiros¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
A primeira forma retorna um inteiro aleatório do intervalo [0, stop). A segunda forma retorna um inteiro aleatório do intervalo [start, stop). A terceira forma retorna um inteiro aleatório do intervalo [start, stop) em passos de step. Por exemplo, chamar
randrange(1, 10, 2)retornará números ímpares entre 1 e 9, inclusive.
Funções para números de ponto flutuante¶
Outras Funções¶
- random.seed(n: int | None = None, /) None¶
Inicializa o módulo gerador de números aleatórios com a semente n, que deve ser um inteiro. Quando nenhum argumento (ou
None) é passado, o PRNG é re-semeado a partir da mesma fonte específica da porta queos.urandom()usa.
- random.choice(sequence: Any) Any¶
Escolhe e retorna um item aleatoriamente de sequence (tupla, lista ou qualquer objeto que suporte a operação de subscrito).