1
resposta

Ajuda com imports - qual a diferença?

No primeiro exemplo, usamos:

from random import randrange

Já no segundo, a sintaxe foi:

import matplotlib.pyplot as plt

Por que é diferente? Tentei usar a mesma sintaxe como:

import random.randrange

E veio o erro:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-97-bbfb9adbc55c> in <module>
      1 import matplotlib.pyplot as plt
      2 #from random import randrange, seed
----> 3 import random.randrange
      4 
      5 

ModuleNotFoundError: No module named 'random.randrange'; 'random' is not a package

Se eu tento:

from matpltlib import pyplot

Retorna esse erro:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-98-0ac1b77bcad7> in <module>
      1 #import matplotlib.pyplot as plt
      2 
----> 3 from matpltlib import pyplot
      4 from random import randrange, seed
      5 

ModuleNotFoundError: No module named 'matpltlib'

Por quê?

1 resposta

Olá, Marco

No primeiro caso, a tentativa de importação import random.randrange falha porque random não é um pacote, mas sim um módulo do pacote padrão random do Python. Para usar a função randrange, você precisa primeiro importar o módulo random com import random e, em seguida, acessar a função randrange usando a notação de ponto, como em random.randrange().

No segundo caso, a importação import matplotlib.pyplot as plt funciona porque matplotlib é um pacote e pyplot é um módulo dentro desse pacote. A notação de ponto é usada para acessar o módulo pyplot, que é renomeado como plt para facilitar a digitação.

Por fim, no terceiro caso, há um erro de digitação na importação, pois o nome correto da biblioteca é matplotlib, não matpltlib. Portanto, para importar o módulo pyplot corretamente, a declaração correta seria from matplotlib import pyplot.

espero que a explicação tenha ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software