Olá, Felipe! Tudo bom?
Vamos lá.
Qual a diferença entre range(0, 11) e randrange(0, 11)?
Resposta: O range é uma função nativa do Python, também chamadas de funções built-in, que cria uma lista de números que parte de um valor de inicio, e vai até o valor anterior ao final, pulando com um passo, seguindo o formato range(inicio, final, passo). Então quando usamos:
print(range(0, 5, 1))
Temos de saída a lista de valores: [0, 1, 2, 3, 4].
Já a função randrange é uma função importada da biblioteca random, e ela gera um número em um RANDom range, ou seja, um número aleatório em um intervalo, é passado um início e um final, e também um passo, mas somente um número é escolhido, diferente do range que retorna o intervalo linear e uniforme.
Importação
Você pode utilizar ambas as formas, tanto o from random import randrange quanto import matplotlib.pyplot ou from matplotlib.import pyplot, a primeira importação do matplotlib é mais comum de ser vista na documentação, mas o comportamento é o mesmo.
Inclusive também é possível escrever:
import random.randrange
Mas com a diferença que agora é preciso chamar a função com o nome por extenso random.randrange(inicio, final, passo). Esse tipo de importação é considerada um pouco mais segura porque carrega o nome da biblioteca e o nome da função, e se existirem outras bibliotecas com o mesmo nome, não teremos problemas de conflito.
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
Não é necessário fechar o tópico, outras pessoas podem ser ajudadas por ele :D