DEV Community

ダニエリ for WoMakersCode

Posted on • Edited on

4 2

[Dicas de Python] Importando módulos

Você já se perguntou o que são os imports que muitas vezes vemos no começo do código?

É ele quem torna visível os módulos para o arquivo no qual foi chamado.

O que são módulos?

Segundo a documentação oficial

um módulo é um arquivo contendo definições e instruções Python. [...] Um módulo pode conter tanto instruções executáveis quanto definições de funções e classes. Essas instruções servem para inicializar o módulo. Eles são executados somente na primeira vez que o módulo é encontrado em uma instrução de importação.

De maneira resumida: um módulo é um trecho de código pronto que pode ser invocado quando for preciso utilizar algum método dele.

Para ilustrar, vamos imaginar que exista no Python um módulo de verduras e leguminosas chamado de vegetais como na imagem abaixo:

vegetais

Se usarmos o comando:

import vegetais
Enter fullscreen mode Exit fullscreen mode

O Python nos trará todos os vegetais mostrado. Como se colocássemos todos sobre a mesa para que durante o preparo, pudéssemos pegá-los de imediato.

Porém ao usarmos o comando:

from vegetais import batata
Enter fullscreen mode Exit fullscreen mode

O Python nos trará apenas a batata. Como se colocássemos sobre a mesa apenas a batata e mais nenhum outro vegetal. Sendo assim nos sobra mais espaço na mesa para outras funções.

Usando o import

Usando um exemplo com Python, vamos importar o módulo math, que é um módulo que nos dá acesso a várias funções matemáticas, como raiz quadrada, seno, arredondamentos, etc.

O módulo math é um dos módulos conhecidos como built in (pronto para uso); ou seja, podemos usá-lo sem instalar nenhuma dependência externa, uma vez que fazem parte da biblioteca padrão do Python. Outros exemplos de módulos da biblioteca padrão são os (responsável por funções de sistema operacional) e re (expressões regulares).

Nesse exemplo, vamos calcular a raiz quadrada do número 25.

Assim temos:

>>> import math
>>> math.sqrt(25)
5.0
Enter fullscreen mode Exit fullscreen mode

Isso quer dizer que importamos toda o módulo math e em seguida, apontamos a função sqrt que é quem vai calcular a raiz quadrada do argumento passado entre parênteses.

Outra maneira de fazer essa mesma ação:

>>> from math import *
>>> sqrt(25)
5.0
Enter fullscreen mode Exit fullscreen mode

O asterisco é conhecido como referência global e indica que todas as funções do módulo math serão trazidas.

Para trazer apenas uma função dentro de um módulo, fazemos:

>>> from math import sqrt
>>> sqrt(25)
5.0
Enter fullscreen mode Exit fullscreen mode

Esse modo é útil quando queremos encurtar a chamada de uma determinada função.

Import várias funções

Podemos também importar várias funções sem precisar trazer todo o módulo. Assim:

>>> from math import radians, sin, cos, tan
>>> sin(radians(30))
0.49999999999999994
>>>
>>> cos(radians(60))
0.5000000000000001
>>>
>>> tan(radians(45))
0.9999999999999999
Enter fullscreen mode Exit fullscreen mode

Acima estamos trazendo apenas as funções que calculam o radiano, seno, cosseno e tangente do módulo math.

Um "apelido" para sua função

Também é possível dar um novo nome para a função de um módulo. Exemplo:

>>> from math import sqrt as raiz
>>> raiz(81)
9.0
Enter fullscreen mode Exit fullscreen mode

Acima, demos a nossa função sqrt o nome de raiz e podemos invocá-la assim durante o nosso programa.

Até a próxima dica! o/

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay