De todas as perguntas e dúvidas que recebo, acredito que essa seja universal. Vou tentar respondê-la.
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Linear é melhor do que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para quebrar as regras.
Ainda que praticidade vença a pureza.
Erros nunca devem passar silenciosamente.
A menos que sejam explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deveria haver um — e preferencialmente só um — modo óbvio para fazer algo.
Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês.
Agora é melhor que nunca.
Embora nunca freqüentemente seja melhor que já.
Se a implementação é difícil de explicar, é uma má idéia.
Se a implementação é fácil de explicar, pode ser uma boa idéia.
Namespaces são uma grande ideia — vamos ter mais dessas!
- Zen of Python | Tim Peters.
Para ler o poema acima, basta instalar o Python no seu computador (tutorial disponível aqui) e chamar o comando:
import this
Ocupando a 3ª posição de linguagem mais utilizada no mundo (fonte: TIOBE), Python vem tendo uma procura cada vez mais constante, tanto de pessoas desenvolvedoras quanto de empresas. Sua alta performance com grandes volumes de dados fez a tecnologia crescer expoencialmente, e a tendência é que suas aplicações aumentem cada vez mais.
Mas como a linguagem surgiu?
Um holandês, chamado Guido Van Rossum, criou a linguagem no natal de 1989. Ela é baseada em C, e seu nome é uma referência ao seriado humorístico Monty Python.
Seus objetivos são:
- ser intuitiva e de fácil aprendizado, ainda assim sendo tão boa quanto as linguagens consideradas "poderosas";
- ter um sintaxe tão inteligível quanto o inglês;
- ser open source (de código aberto), permitindo assim que outras pessoas consigam contribuir com ideias e funcionalidades;
- ser perfeita para solucionar problemas diários, proporcionando um desenvolvimento mais rápido e uma curva de aprendizado mais baixa.
Por que devo aprendê-la?
Se os tópicos acima não forem suficientes para te convencer a aprender a linguagem, eu te dou uma ajudinha. Como disse, a curva de aprendizado da linguagem é baixa, o que significa que o aprendizado da linguagem é rápido e a tendência é que você produza códigos cada vez mais intuitivos - e rápidos.
Há alguns anos, o MIT (Instituto de Tecnologia de Massachusets) resolveu utilizar Python para introduzir a lógica de programação para seus alunos. A estratégia foi feita porque muitos alunos reprovavam na disciplina. Na Suíça, a universidade Fachhochschule de Zurique trabalha com a linguagem nos cursos de pós graduação.
Já aqui no Brasil, temos essas instituições ensinando as disciplinas de lógica de programação / programação com Python (até onde consegui listar):
FATEC (Faculdade de Tecnologia de São Paulo) - algumas unidades;
IMPACTA (faculdade particular de São Paulo);
USP (Universidade de São Paulo);
IFRO (Instituto Federal de Rondônia);
PUC-Rio (Pontifícia Universidade Católica do Rio de Janeiro);
UFC (Universidade Federal do Ceará);
UFSCar (Universidade Federal de São Carlos, São Paulo);
Mackenzie (faculdade particular de São Paulo);
Insituto Infnet (faculdade particular do Rio de Janeiro);
UEFS (Universidade Estadual de Feira de Santana, Bahia);
UNICSAL (Universidade Estadual de Ciências da Saúde de Alagoas);
UEA (Universidade do Estado do Amazonas);
IFPB (Instituto Federal da Paraíba);
UERJ (Universidade Estadual do Rio de Janeiro);
UFSC (Universidade Federal de Santa Catarina);
Instituto Superior Tupy (Faculdade privada de Joinville, Santa Catarina);
UEPB (Universidade Estadual da Paraíba);
IFPI - Campus Picos (Instituto Federal do Piauí);
UNIFEI (Universidade Federal de Itajubá - Minas Gerais);
Universidade Estácio de Sá (filial do Rio de Janeiro);
UFV (Universidade Federal de Viçosa - Minas Gerais);
UNB (Universidade Federal de Brasília - Distrito Federal);
UFMG (Universidade Federal de Minas Gerais);
IFF (Instituto Federal Fluminense - RJ);
IFRN (Instituto Federal do Rio Grande do Norte);
UFCG (Universidade Federal de Campina Grande - Paraíba);
UFMS (Universidade Federal de Mato Grosso do Sul);
IFSP São Carlos (Insituto Federal de São Carlos, São Paulo);
UFPR Litoral (Universidade Federal do Paraná);
UCL (Universidade do Centro Leste - Espírito Santo);
-
IFRN - Campus Ceará-Mirim (Instituto Federal do Rio Grande do Norte).
Agradecimento aos seguimores que contribuíram pra essa lista de instituições - amo vocês!
E para o quê ela serve?
Bem, eis uma pergunta ampla. Quando falamos de Python, o assunto vai de desde aplicações desenvolvidas para a web até algoritmos de aprendizado de máquina. Lembra da primeira foto do buraco negro que ficou famosa em 2019? Pois então, diversas bibliotecas de Python foram utilizadas para atingir tal feito. Empresas como Youtube, Google, Pinterest, Instagram, Spotify, Reddit, Dropbox e Quora também a utilizam em suas aplicações.
Abaixo, segue de exemplo uma lista de tecnologias desenvolvidas em Python e suas respectivas áreas de atuação:
-
Desenvolvimento web
- Django;
- Flask;
- Tornado;
- Web2Py;
- CherryPy;
- Bottle;
- TurboGears.
-
Segurança da informação
- URLLib;
- Requests;
- Socket;
- HTTPLib;
- PyAesCrypt.
-
Ciência de Dados
- Scikit learn;
- NumPy;
- SciPy;
- Numba;
- TensorFlow;
- PyTorch;
- Keras;
- NLTK;
- SpaCy;
- Gensim;
- Scrapy;
- Beautiful Soup;
- Requests;
- PyOD;
- QGrid;
- LightGBM;
- Vaex;
- XGBoost;
- CatBoost;
- Matplotlib;
- Pandas;
- Plotly;
- LIME;
- Featuretools;
- StatsModels;
- Seaborn;
- Bokeh;
- Pydot.
-
Bioinformática
- DB-API;
- Pillow;
- NumPy;
- HTMLgen;
- PyGTK;
- WxPython.
-
Estatística
- RPy;
- Scipy;
- PyChem.
-
Processamento de Imagens
- Pillow;
- OpenCV;
- Scikit-image;
- SciPy;
- NumPy.
Por que ficou tão conhecida?
Diferente de outras linguagens famosas que são proprietárias de grandes empresas, Python sempre teve o seu código aberto e disponível para quem quisesse contribuir. Isso ajuda no fato de pessoas adeptas do movimento open source se sentirem atraídas para o universo dessa tecnologia, mas não para por aí.
- É uma linguagem simples, que não requer o uso de caracteres especiais em demasia, e que facilita muito o seu uso;
- Também é multiparadigma, o que proporciona uma maior flexibilidade no jeito de se escrever o código;
- Possui uma extensa biblioteca interna, que facilita o uso da linguagem e não necessita realizar importações de bibliotecas externas a todo momento;
- Suas funções built-ins, ou seja, funções nativas/internas, sempre estão disponíveis para uso;
- É extremamente abrangente e utilizada por diversas áreas que não são, necessariamente, de tecnologia. Por exemplo: existem diversos jornalistas que são ótimos programadores Python e já conheci biomédicos, contadores, físicos, geográfos, matemáticos, neurocientistas, engenheiros, e pessoas de diversas profissões que programam na linguagem;
- Tem uma comunidade incrível, que preza por diversidade e inclusão, além de ser muito acolhedora.
Pessoas > Tecnologia
E chegamos a minha parte favorita desse tema. Para muita gente, ouvir falar de comunidade pode parecer estranho ou confuso, mas eu explico. São pessoas (que não precisam saber Python ou desenvolver na linguagem) que se reúnem para aprender e compartilhar conhecimento. Como uma pessoa me ensinou uma vez (<3), tem uma frase que define bem isso:
"Comunidade de software é quando você junta pessoas interessadas em ensinar, pessoas interessadas em aprender, e pessoas que têm níveis de conhecimento diferentes que interagem entre si para fazer um mesmo projeto."
E com essa definição, consigo explicar um pouco melhor como são as comunidades. Nesse ambiente, pessoas de diferentes níveis se juntam para se ajudar, aprender, se apoiar, fazer networking, ter ideias e desenvolvê-las, promover iniciativas (como por exemplo, ensinar programação para grupos considerados minoria em TI), propor discussões e buscar evoluir e dar oportunidades para quem precisa.
Dentro da comunidade de Python, existem muitos desses grupos. Saca só:
Tem os GruPy's ou PUG's, que são os grupos de usuários Python e abertos para todas as pessoas;
O PyLadies, uma iniciativa para inserir, incentivar, e empoderar mulheres na área de programação utilizando Python;
O SciPy, que é a comunidade científica da linguagem;
O AfroPython, voltado para pessoas negras;
PyData, para pessoas que gostam e/ou trabalham com dados;
E há diversos outros grupos específicos da linguagem! Para saber mais, você pode acessar aqui para saber sobre os grupos locais, e aqui para grupos locais do PyLadies.
E é no meio dessa galera que nascem conexões pro resto da vida. Tá achando exagero? Já vi rolar oferta de emprego, pedido de namoro, casamento, sociedade de empresa, parcerias diversas, muitas amizades e rolês que ficam marcados para sempre na memória. Segue a dica: vá em um evento de Python e fique para o PyBar. Você não vai se arrepender :D
PS.: Se não tiver um grupo local aí onde você mora, bora criar um? Pra começar uma comunidade, basta ter vontade e iniciativa!
Agora que te contei um pouco de Python, acho que ficou claro por que tanta gente gosta da linguagem né?! Então não perde tempo e venha pro lado Pythônico da força!
Top comments (5)
Ótimo texto, Letícia. Uma contribuição: não existe "uma universidade Fachhochschule de Zurique", mas "uma Fachhochschule de Zurique" ou "uma faculdade de ciências aplicadas de Zurique". A palavra Fachhochschule pode ser traduzida como "faculdade de ciências aplicadas". Logo, no seu texto, se traduzido, fica algo como "a universidade universidade de ciências aplicadas de Zurique", saca? Eu entendi que você usou Fachhochschule como adjetivo, mas é um substantivo mesmo. Teu texto tá ótimo. Obrigado por compartilhá-lo e escrevê-lo.
Oi, Marcos. Obrigada!
Então, eu usei como substantivo mesmo. "a universidade Fachhochschule de Zurique", pra explicar para as pessoas que se trata de uma instituição de ensino superior. Eu entendi o que você quis dizer, mas o texto não foi produzido em alemão, então me sinto na obrigação de explicar que sim, é uma faculdade.
Muito obrigada pelo feedback.
Parabéns Letícia!Ótimo post!
Adorei seu artigo, @dii_lua !
Só sentir falta da biblioteca lá na trilha de bioinformática: biopython.
:D
👋🏿👋🏿👋🏿👋🏿👋🏿👋🏿