1
resposta

[Dúvida] Por que um dá erro e o outro não? "import matplotlib.pyplot" e "import random.randrange"

Por que aparece uma msg de erro qdo tento importar o método "randrange" usando o seguinte código:

"import random.randrange"

Porém ele aceita o padrão: "from random import randrange"

Já este outro aceita os dois modos:

import matplotlib.pyplot ou from matplotlib import pyplot

1 resposta

Olá, Micaels! Tudo bom? Espero que sim!

A explicação mais curta é que a biblioteca random é um módulo nativo do Python que não é organizado em subpacotes, diferente do matplotlib. Na estrutura do pacote matplotlib é divida em vários submódulos, um deles é o pyplot, já a biblioteca random é um único arquivo random.py que contem as funções desejadas, inclusive a randrange().

Então é por isso que conseguimos escrever:

from random import randrange

Que é o mesmo significado de pedir o acesso a função randrange() dentro da biblioteca random.

Mas não conseguimos escrever:

import random.randrange

Porque não existe uma estrutura de pastas tal que random > randrange, o que caracteriza um submódulo.

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!