em 09-28-2024 02:14 PM
Introdução a Python
Dando continuidade às publicações sobre o tema NetDevOps, nesta postagem vou falar sobre o Python. A linguagem de programação Python tem se tornado a mais popular entre os engenheiros de redes para automatizar suas infraestruturas. Isso ocorre porque é uma linguagem mais fácil de aprender, sem a complexidade de sintaxe e estrutura de linguagens como Java e C. Por ter ganhado popularidade também na área de redes, é fácil encontrar exemplos de códigos que podem ser utilizados para automatizar tarefas repetitivas do dia a dia. Atualmente a maioria dos sistemas operacionais baseados em UNIX, como macOS e Linux, já possuem Python instalado nativamente.
Fonte: https://apexensino.com.br/voce-conhece-a-linguagem-python/
Para resolver esse problema da compatibilidade entre as diferentes versões e módulos, foi criado o ambiente virtual Python (Python virtual environments). Esse ambiente permite com que o programador instale uma versão específica de Python, e seus pacotes, em uma estrutura de diretórios separada. A partir da versão 3.3 já existe de forma nativa o suporte para ambientes virtuais. De qualquer forma, você pode criar códigos em Python sem utilizar o ambiente virtual, porém, corre o risco de “quebrar” o seu código no minuto em que atualizar o Python ou algum módulo.
O processo para utilizar o ambiente virtual é bastante simples, basta iniciar o Python 3 com o argumento -m para rodar o modulo venv. Lembrando-se de que é necessário definir um nome para o ambiente virtual que também será utilizado como nome do diretório que irá conter as partes do seu ambiente virtual. Após isso, você precisará ativar o ambiente utilizando o comando source (Linux ou Mac). Caso esteja utilizando Windows será necessário rodar o arquivo batch de ativação.
#MacOS ou Linux
python3 -m venv meuvenv
source meuvenv/bin/activate
#Windows
C: \py -3 -m venv meuvenv
C:\meuvenv\Scripts\activate.bat
Após isso, você verá o nome do seu ambiente virtual entre parênteses, o que indica que está rodando o Python em um ambiente virtual.
(meuvenv) $
Nesse ponto, caso você feche o terminal, precisará iniciar o ambiente virtual novamente. Para desligar o ambiente basta utilizar o comando deactivate que o prompt irá retornar ao setup local do python.
Fonte: https://www.godela.com.br/noticia/1621/gerenciamento-de-ambientes-virtuais-com-python/
Python Module Package Manager
Uma das principais vantagens do ambiente virtual é a possibilidade de instalar módulos específicos de acordo com as necessidades do projeto. Isto é feito através do pip (Python module package manager), que irá realizar o download dos módulos solicitados diretamente do repositório PyPI. Para utilizar o pip basta digitar o seguinte comando:
(meuvenv) $ pip install (nome do pacote/modulo que deseja instalar)
O pip também oferece uma opção de pesquisa para o caso de dúvidas se realmente está realizado o download do pacote certo. O output dessa opção irá incluir informações como nome, versão, e uma breve descrição sobre o que o pacote faz. Para utilizar o pip search basta digitar o seguinte comando:
(meuvenv) $ pip search (nome do pacote que deseja consultar)
Quando você realiza o download de um pacote, caso ele tenha dependência de outros pacotes, normalmente virá acompanhando de um arquivo txt de leitura com uma lista desses requisitos. Usar um arquivo requirements.txt é uma boa prática, pois isto fornecerá ao pip um conjunto de pacotes que precisarão ser instalados juntos. Para realizar o download com base nos requisitos de determinado pacote basta aplicar o seguinte comando:
(meuvenv) $ pip install -r requirementes.txt
Caso esteja construindo o seu próprio código e deseja salvar os módulos configurados em seu ambiente virtual como uma lista de requisitos, basta utilizar o comando freeze que o seu arquivo requirements.txt será populado automaticamente.
(meuvenv) $ pip freeze > requirements.txt
Fonte: https://realpython.com/what-is-pip/
Entendendo a sintaxe do Python
Agora que já sabemos como preparar o nosso ambiente para trabalhar com as diferentes versões e pacotes do Python, chegou a hora de entender a estrutura de linguagem ou, como normalmente é chamada, Python syntax. Algumas linguagens de programação são bem restritas na forma em que você escreve o código, o que faz com que determinadas tarefas simples se tornem um desafio para aqueles que não possuem familiaridade. Mesmo o Python sendo uma linguagem mais “solta”, ainda sim possui regras a serem seguidas para que o código seja, além de legível, funcional. Tenha em mente que o Python foi criado para ser uma linguagem que melhorasse a legibilidade dos códigos. Seu nome foi escolhido em homenagem ao programa de comédia britânico Monty Python. Em suma, Python é melhor entendido graças a sua filosofia (The Zen of Python):
Python é uma linguagem “scriptada”, ou seja, qualquer editor de texto pode ser utilizado para escrever um código em Python. A escolha de qual editor utilizar é pessoal de cada programador. Para trabalhar em qualquer código que você deseja fazer várias edições, o ideal será utilizar um editor. Atom e Visual Studio Code são os editores mais populares, principalmente pelo fato de terem um grande ecossistema de plug-ins que facilitam a vida do programador na hora de realizar interações com outros sistemas. Contudo, a forma mais fácil de iniciar qualquer código em Python é simplesmente utilizando o comando python3 no prompt (considerando que você já tenha instalado o Python) para utilizar um interpretador interativo:
$ python3
>>> print (“Learn. Share. Grow.”)
Learn. Share. Grow.
Um aspecto muito importante que difere o Python das outras linguagens de programação é que com Python os espaços importam. Enquanto em linguagens como Java ou C usam { } ou palavras chaves de start/stop, o Python utiliza a indentação para separar os blocos. Esses espaços em branco não são apenas para deixar o seu código mais legível, ao invés disso, seu código Python não irá funcionar sem eles. Nesses casos, será apresentado o seguinte erro:
IndentationError: expected na indented block
Python permite que você utilize espaços em branco ou tab para a indentação. Python 2 permite que você utilize ambos, porém em Python 3 isso irá retornar um erro. O padrão, de acordo com o PEP 8 style guide, é utilizar 4 espaços para indentação antes de qualquer bloco de código. Apenas um espaço irá funcionar? Sim, irá. Porém, o código seria difícil de “alinhar” e você acabaria tendo trabalho extra depois para identificar essas falhas. Problemas de alinhamento se tornam muito mais importantes quando você utiliza loops ou condicionais em seu código, uma vez que cada loop precisa corresponder a um outro bloco de código, identificado utilizando indentações.
Fonte: https://blog.codeitbro.com/wp-content/uploads/2020/07/does-your-python-bite.png
Por fim, mas de extrema importância, comente o seu código! Em Python é possível inserir comentários utilizando #, que irá comentar uma única linha fazendo com que o interpretador python a ignore, ou ‘’’ ’’’ que permite com que adicione várias linhas como comentário. Você provavelmente não vai, e não precisa, comentar todas as linhas do código. Mas é de grande valia adicionar comentários descrevendo o que uma determinada função faz por exemplo. Na maioria dos casos, teremos mais de um programador atuando em um mesmo projeto, ou até mesmo programadores entrando em projetos que já estavam em andamento. E por isso é de suma importância sempre termos em mente a necessidade de comentar pontos importantes do código e tentar sempre entregar um código mais "limpo".
Caso tenha interesse em aprender mais sobre esse fantastico mundo da automação de redes, a Cisco disponibiliza de forma gratuita, através da plataforma CiscoU, o treinamento Understanding Cisco Network Automation Essentials | DEVNAE. São mais de 28h de conteudo e 16 CE credits que pode ser utilizado na renovação das suas certificações.
Para todos que leram até aqui, deixo três perguntas sobre o tema como forma de estudo e caso tenham dúvidas ou considerações, sintam-se à vontade para postar nos comentários.
1. What is the appropriate way to create a virtual environment for Python 3?
2. What command is used to install Python modules from PyPI?
3. Whats is the standar for idention in Python?
Se esse artigo te ajudou de alguma forma, peço que compartilhe e deixe seu kudos!
Comunidade Cisco
Aprender. Compartilhar. Crescer.
Artigo muito TOP Samuel
@SamuelGLN Vai com certeza um Kudos pra vc meu amigo, óptimo conteúdo. Abs
Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.
Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: