Inscreva-se em minha Newsletter
Para quem esse artigo é indicado?
Para profissionais de marketing, analistas de SEO, Web Analytics ou programadores front-end que nunca tiveram nenhum contato com uma linguagem de back-end.
Porque aprender Python?
Na verdade a pergunta é: Porque aprender uma linguagem de programação back-end? O Python é o meio, mas não o fim.
Cada vez mais o Marketing vem se tornando tecnologia e as técnicas habituais de marketing não funcionam com a mesma eficiência que funcionavam há 10 anos. As campanhas de Marketing cada vez mais usam tecnologia combinada com as técnicas de Marketing.
O SEO sempre foi uma função do antigo WebMaster, com a sua popularização o Marketing foi “tentando” incluir essa atribuição dentro de sua alçada para se tornar mais “tech”. Mas resultou no que eu chamo de “profissionais de conteúdo” e que são muito importantes, mas SEO é técnico e se você não conhece pelo menos HTML e JavaScript, você é um profissional de conteúdo.
Sabemos que os motores de buscas usam algoritmos para definir a prioridade de sites em seus resultados de pesquisas (SERPs) e saber como esses algoritmos funcionam pode fazer toda a diferença.
Por exemplo: Como o Google sabe o assunto sobre o que estou escrevendo? Uma simples pergunta como essa causa várias respostas “bobas” por parte de muitos profissionais.
Quer a resposta?
O Google não sabe! Seus algoritmos usam várias tecnologias para “pesar” e “medir” o conteúdo (código), e definir para quais buscas (strings) aquele conteúdo pode ser relevante. Depois ele analisa o comportamento dos usuários no conteúdo (URL), e novamente seus algoritmos usam “pesos” e “medidas” para “qualificar” o conteúdo.
Na maioria das vezes isso funciona, mas outras vezes não. Por mais inteligentes que sejam os algoritmos eles não “entendem” totalmente seu conteúdo, e não são capazes de “sentir” a emoção que um conteúdo pode passar, nem sabem dizer com certeza se tal conteúdo é realmente útil ao leitor. Nem sempre é o melhor conteúdo que aparece nas melhores posições para determinada SERPs, mas sim, o conteúdo que melhor satisfazer esses pesos e medidas usados pelos algoritmos.
Para SEO eu gosto de pensar em 5 pilares básicos: Estrutura do domínio (Arquitetura da Informação), URLS, Sinais Externos, Linguagem de Máquina e Linguagem Humana.
Ou seja, conteúdo é muito relevante. Não adianta escrever algo que somente máquinas conseguem consumir, seu conteúdo deve ser útil também para seres humanos e servir ao seu propósito. Contudo, se você escrever um artigo muito bom, mas não atender certos requisitos que esses algoritmos usam muito provavelmente ele não terá relevância em resultados de pesquisa.
E isso pode acontecer por vários motivos: código HTML mal formatado, JavaScript impedindo renderização, CSS quebrando o conteúdo, resposta do servidor e etc…
Ou seja, aprender a programar te fará entender como um algoritmo funciona. E várias ferramentas usam algoritmos.
Quer que seus posts tenham mais alcance no Facebook?
Procure entender como o algoritmo dele funciona, que formato de conteúdo tem melhor performance. Quais são seus pesos e medidas, e etc…
Não estou dizendo que o Marketing morreu! Chega de matar técnicas e profissões. O SEO já morreu umas 20 vezes…rsrsr.
Minha intenção nesse artigo é fazer com que você se interesse por tecnologia e mostrar como aprender a programar te dará uma nova visão quando você for criar um anúncio, por exemplo.
E nada melhor do que o Python para dar esses primeiros passos.
Python é uma linguagem de programação de alto nível amplamente usada para programação de propósito geral, criada por Guido van Rossum e lançado pela primeira vez em 1991.
O Python possui um sistema de tipagem dinâmica, possui gerenciamento de memória automático e suporta múltiplos paradigmas de programação, incluindo programação orientada a objetos, imperativa, funcional, e orientada a processos (procedural). Possui uma enorme e abrangente biblioteca.
O Python vem sendo amplamente usado nas áreas de desenvolvimento web, Inteligência Artificial, Big Data e Machine Learning. Sendo usado por empresas como:
O Google é um defensor do Python desde o começo. No começo, os fundadores do Google tomaram a decisão de “Python onde podemos, C++ onde devemos”. Isso significava que o C++ era usado onde o controle da memória era imperativo e a baixa latência era desejada. Nas outras partes, o Python é usado pela facilidade de manutenção e entrega relativamente rápida.
Os engenheiros de produção do Facebook estão extremamente interessados no Python, tornando-o a terceira linguagem mais popular na gigante de mídia social (logo atrás de C ++ e sua própria linguagem baseada no PHP, o Hack). Em média, existem mais de 5.000 serviços no Facebook usando o Python, seja gerenciando infraestrutura, na distribuição de binários, automação operacional e etc.
Em 2016, a equipe de engenharia do Instagram se gabou de estar executando a maior implantação mundial do framework web Django, que é escrito inteiramente em Python. Isso provavelmente ainda é válido hoje. Min Ni, um engenheiro de software do Instagram, fala sobre o seu uso em produção do Python:
“Inicialmente, optamos por usar o Python por causa de sua reputação de simplicidade e praticidade, que se alinha bem à nossa filosofia de fazer a coisa simples primeiro”.
Desde então, a equipe de engenharia do Instagram investiu tempo e recursos para manter sua implantação do Python viável na grande escala (cerca de 800 milhões de usuários ativos mensais) em que estão operando:
“Com o trabalho que criamos na estrutura de eficiência do serviço da web do Instagram, estamos confiantes de que continuaremos ampliando nossa infraestrutura de serviços usando o Python. Também começamos a investir mais na própria linguagem Python e estamos começando a explorar a migração do nosso Python da versão 2 para a 3”.
Em 2017, o Instagram migrou a maior parte de sua base de código do Python 2.7 para o Python 3. Você pode assistir ao keynote da PyCon 2017 que Lisa Guo e Hui Ding deram e ouvir sobre sua experiência com essa migração massiva de código:
Spotify
Esse gigante de streaming de música é um grande defensor do Python, usando a linguagem principalmente para análise de dados e serviços no back-end. No back-end, há um grande número de serviços que se comunicam através do 0MQ, ou ZeroMQ, uma biblioteca para estrutura de rede de código aberto que é escrita em Python e C ++ (entre outras linguagens).
Netflix
A Netflix usa o Python de uma maneira muito semelhante ao Spotify, contando com a linguagem para potencializar sua análise de dados no back-end. Não para por aí, no entanto. A Netflix permite que seus engenheiros de software escolham em qual linguagem programar, e notaram um grande aumento no número de aplicações em Python.
Primeiros passos no Python
Duas versões principais do Python estão atualmente em uso ativo:
- O Python 3.x é a versão atual e está em desenvolvimento ativo.
- O Python 2.x é a versão legada e receberá apenas atualizações de segurança até 2020. Nenhum novo recurso será implementado. Observe que muitos projetos ainda usam o Python 2, embora a migração para o Python 3 esteja ficando mais fácil.
Você pode baixar e instalar qualquer versão do Python. Veja Python 3 vs. Python 2 para ter uma comparação entre as duas versões. Além disso, alguns terceiros oferecem versões do Python em que adicionam bibliotecas e outros recursos para facilitar a configuração em casos de uso comuns, como matemática, análise de dados ou uso científico. Veja a lista no site oficial.
Mãos a obra!
Instalando o Python
Para confirmar que o Python foi instalado corretamente, você pode verificar isso executando o seguinte comando em seu terminal favorito (Se você estiver usando o sistema operacional Windows, você precisa adicionar o caminho do python para a variável de ambiente antes usando o prompt de comando):
$ python --version
Python 3.x Versão ≥ 3.0
Se você tiver o Python 3 instalado e for a sua versão padrão (consulte Solução de Problemas para obter mais detalhes), você deverá ver algo assim:
$ python --version
Python 3.7.2
Python 2.x Versão ≤ 2.7
Se você tem o Python 2 instalado, e é a sua versão padrão (veja Solução de Problemas para mais detalhes) você deve ver algo assim:
$ python --version
Python 2.7.13
Se você instalou o Python 3, mas o $ python --version
mostra uma versão do Python 2, você também tem o Python 2 instalado. Isso acontece frequentemente no caso do MacOS e em muitas versões do Linux. Use $ python3
para usar explicitamente o interpretador de Python 3.
Hello World com Python
Primeiro você precisa de uma IDLE. O IDLE é um editor de código, ao você instalar o Python ele já traz sua própria IDLE.
Como criar um Hello World com uma IDLE?
Abra a IDLE de sua preferência:
- Nas versões mais antigas do Windows, ele pode ser encontrado em Todos os Programas, no menu do Windows.
- No Windows 8+, pesquise por IDLE ou encontre-a nos aplicativos que estão presentes no menu principal.
- Em sistemas baseados em Unix (incluindo o Mac), você pode abrir a IDLE a partir do shell digitando
$ idle python_file.py
.
O shell abrirá assim:
>>>
Agora escreva o seguinte código no prompt:
>>> print("Hello World")
Clique em Enter.
>>> print("Hello World")
Hello World
Criando um arquivo Hello World no Python
Crie um novo arquivo helloWorld.py
que contenha a seguinte linha:
Python 3.x Version ≥ 3.0
print('Hello World')
Python 2.x Version ≥ 2.6
Você pode usar a função print
do Python 3 no Python 2 com a seguinte declarando um import
:
from __future__ import print_function
O Python 2 possui várias funcionalidades que podem ser importadas opcionalmente do Python 3 usando o módulo __future__
, como mostrado aqui.
Python 2.x Version ≤ 2.7
Se estiver usando o Python 2, você também pode escrever como no código abaixo. Observe que isso não é válido no Python 3 e, portanto, não é recomendado porque reduz a compatibilidade de código entre as versões do Python.
print 'Hello World'
No seu terminal, navegue até o diretório que contém o arquivo helloWorld.py
.
Digite python helloWorld.py
e pressione a tecla Enter.
$ python helloWorld.py
Hello World
Você deve ver Hello World aparecendo no console.
Você também pode substituir o helloWorld.py
pelo path (caminho) para o seu arquivo. Por exemplo, se você tiver o arquivo em seu diretório pessoal e seu usuário é “reulison” no Linux, você pode digitar:
python /home/reulison/helloWorld.py
Modo interativo do Python
Executando o comando python no seu terminal, você entrará no modo interativo do Python. Isso também é conhecido como o interpretador Python ou um REPL (Read Evaluate Print Loop).
$ python Python 2.7.12 (default, Jun 28 2016, 08:46:01)
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World'
Hello World
>>>
Se você quer rodar o Python 3 a partir do seu terminal, execute o comando python3
.
$ python3
Python 3.6.0 (default, Jan 13 2017, 00:00:00)
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello World')
Hello World
>>>
Como alternativa, você pode iniciar o prompt interativo e carregar o arquivo com python -i <file.py>
.
Na linha de comando, execute:
$ python -i hello.py
"Hello World"
>>>
Existem várias maneiras de fechar o shell do Python:
>>> exit()
Ou:
>>> quit()
Como alternativa, CTRL + D fechará o shell e abrirá uma nova linha de comando no terminal.
Se você quiser cancelar um comando e iniciar um prompt de comando limpo, use CTRL + C.
Experimente um shell online do Python.
Vários sites oferecem acesso a shells do Python.
Os shells online podem ser úteis para os seguintes propósitos:
- Executar um pequeno trecho de código em uma máquina que não possui o python instalado (smartphones, tablets etc);
- Aprender ou ensinar o básico do Python;
- Resolver problemas online.
Exemplos:
- python.org – O shell online hospedado pelo site oficial do Python.
- ideone.com – Amplamente utilizado na Internet para ilustrar o comportamento do código.
- replit – Compilador online poderoso e simples, IDE e interpretador.
- tutorialspoint – shell UNIX completo, e um gerenciador de projetos.
- rextester – IDE Simples e fácil de usar, e que mostra o tempo de execução.
Executar comandos como uma string
O Python pode executar código arbitrário como uma string no shell:
$ python -c 'print("Hello World")'
Hello World
Isso pode ser útil ao concatenar os resultados de strings juntas.
A concatenação de strings é a operação de unir cadeias de caracteres de ponta a ponta. Por exemplo, a concatenação de “casa” e “branca” é “casa branca”.
Gerenciamento de pacotes no Python
Gerenciamento de Pacotes – A ferramenta recomendada pelo PyPA para instalar pacotes Python é o PIP. Para instalar, execute o seguinte comando:
pip install <nome do pacote>
Por exemplo, pip install numpy
.
No windows você deve adicionar pip ao PATH de suas variáveis de ambiente. Para evitar isso, use:
python -m pip install <nome do pacote>
Shells – Até agora, discutimos diferentes maneiras de executar código usando o shell interativo nativo do Python. Os Shells usam o poder interpretativo do Python para uma experiência com código em tempo real. Alguns shells incluem também uma IDLE.
GUI, IPython – conhecido por aumentar a experiência de computação interativa, etc.
Programas – Para um projeto a longo prazo, você pode salvar seu código em arquivos .py e editá-los / executá-los como scripts, ou usar ferramentas externas. Exemplo: shell, IDEs (como PyCharm), Jupyter notebook, etc.
Usuários intermediários podem usar essas ferramentas; no entanto, os métodos discutidos aqui são suficientes para quem está começando.
O Python Tutor permite que você analise seu código para que possa visualizar como o programa irá funcionar e o ajudará a encontrar erros e a entender porque seu programa não funcionou.
O PEP8 define diretrizes para escrever código Python. A boas práticas em escrever código são importantes para que você possa entender rapidamente o que o código faz.
Se preferir se aprofundar mais, aconselho o curso de Python da DevMedia.
Confira agora esse artigo sobre variáveis no Python. Para quem estiver interessado, eu já escrevi um artigo onde eu construo um web scraping com Python do zero.
Mas então! O que achou do artigo? Deixe um comentário.
Comentários