Data (2024) | Conteúdo |
---|---|
27/04 | Notebooks 01 e 02 ✅ |
04/05 | Notebooks 03 e 04 ✅ |
11/05 | Notebooks 05 e 06 ✅ |
18/05 | Notebook 07 ✅ |
Python, uma linguagem de programação de alto nível, é universalmente aceita e notavelmente fácil de aprender, ler e escrever. Foi em 1991 que Guido van Rossum lançou o código-fonte do Python pela primeira vez, e desde então, a linguagem se estabeleceu como uma das mais populares globalmente.
A linguagem Python é dotada de várias características que a tornam uma escolha excepcional para programadores novatos e experientes. Uma de suas principais qualidades é a legibilidade. O código Python é compreensível e fácil de ler, o que simplifica o processo de aprendizado e manutenção. Além disso, sua sintaxe simples e intuitiva permite que os desenvolvedores escrevam código de forma mais rápida e com menos erros.
A versatilidade é outra razão para a popularidade do Python. Ele pode ser aplicado em uma ampla variedade de tarefas, incluindo desenvolvimento web, cálculos científicos, inteligência artificial e análise de dados. A linguagem também conta com uma comunidade de desenvolvedores extensa e ativa, que contribui com a criação de diversas bibliotecas e ferramentas de código aberto.
Python é uma excelente escolha para quem deseja aprender a programar. Sua simplicidade, legibilidade e versatilidade o tornam uma ótima linguagem para iniciantes, enquanto suas capacidades e comunidade ativa o tornam uma ferramenta poderosa para desenvolvedores experientes.
Uma das características únicas do Python é o seu modo interativo, que permite executar os códigos e ver os resultados imediatamente. Isso é possível graças ao Interpretador Python, que é um programa que lê e executa o código Python.
No entanto, é melhor utilizar algum tipo de ambiente de desenvolvimento integrado (IDE, do inglês Integrated Development Environment). Um IDE oferece ao usuário não apenas um interpretador, mas também um editor de código, bem como uma série de outras utilidades.
Existem muitos IDEs disponíveis para trabalhar com Python. Os critérios para escolher um IDE podem ser variados. Mas os principais, é claro, são a facilidade de uso, o conjunto de recursos / funcionalidades integradas do IDE, bem como seu custo (existem produtos comerciais e de código aberto).
Algumas das IDEs mais famosas para Python incluem:
Desenvolvido pela JetBrains, o PyCharm é uma das IDEs mais populares para Python, oferecendo uma ampla gama de recursos para desenvolvimento Python e suporte a frameworks populares como Django, Flask, e mais.
Embora seja uma editor de código-fonte mais geral, o VS Code possui uma grande quantidade de extensões Python.
Embora não seja uma IDE tradicional, o Jupyter Notebook são amplamente usados para desenvolvimento, exploração e análise de dados em Python, especialmente em ambientes de ciência de dados e pesquisa.
Uma IDE projetada especificamente para cientistas e engenheiros, o Spyder é construído em torno do ecossistema científico Python, fornecendo ferramentas para análise de dados e visualização.
IDLE é a IDE padrão que acompanha a instalação padrão do Python. Embora seja simples, oferece uma variedade de recursos básicos para edição, execução e depuração de código Python.
O Google Colaboratory — também conhecido como Google Colab —, utilizado nas nossas aulas, não é uma IDE no sentido tradicional. Em vez disso, é uma plataforma de notebook baseada na nuvem que permite escrever e executar código Python de forma interativa (parecido com o Jupyter Notebook mas não precisa configurar já que funciona inteiramente online).
Os códigos criados em ambos são chamados de notebooks e são estruturados como um conjunto de células. As células de um notebook podem conter texto explicativo ou código executável, e é possível rodar o código de uma célula separadamente ou todas as células de uma só vez. O resultado gerado pela execução é apresentado logo abaixo da célula correspondente, o que torna o estudo ainda mais objetivo e didático.
Os notebooks Jupyter (.ipynb) são uma ferramenta incrivelmente versátil para desenvolvimento interativo em Python e outras linguagens. Eles integram células de código executável com texto formatado em Markdown, uma linguagem de marcação simples (similar ao LaTeX, mas mais acessível). Essa combinação os torna ideais para uma variedade de tarefas, desde exploração de dados a apresentações interativas. Se você está começando com Markdown e quer um guia rápido de formatação, confira aqui.
Muitos momentos durante nossas aulas vou usar atalhos do teclado que economizará tempo ao programar. Não se sinta pressionado a aprender isso de início. Você pode acessar todos os atalhos selecionando "Ferramentas" → "Atalhos do teclado".
Mas aqui está alguns que mais uso:
- Compilar e criar uma célula abaixo:
Alt + Enter
- Compilar a célula:
Ctrl + Enter
- Transformar a célula em Markdown:
Ctrl + M + M
- Transformar a célula em código executável:
Ctrl + M + Y
- Inserir uma célula de código acima:
Ctrl + M + A
- Inserir uma célula de código abaixo:
Ctrl + M + B
- Excluir célula:
Ctrl + M + D
Como nosso curso é introdutório e curto, é impossível cobrir todos os aspectos que o Python oferece, mesmo nos níveis básicos! Por isso, encare nosso curso como uma introdução à linguagem Python para físicos apressados. O que é crucial aprender imediatamente? O que é necessário para, por exemplo, resolver problemas e criar gráficos conforme exigido em relatórios de experimentos de Física? Essas perguntas guiaram a criação da estrutura do curso que se segue:
-
01 - Python como uma calculadora básica > Notebook Aula01
-
02 - Python como uma calculadora científica > Notebook Aula02
-
03 - Gráficos de Linha e Dispersão Parte I > Notebook Aula03
-
04 - Gráficos de Linha e Dispersão Parte II > Notebook Aula04
-
05 - Preparação Preliminar para Análise de Dados Parte I > Notebook Aula05
-
06 - Preparação Preliminar para Análise de Dados Parte II > Notebook Aula06
-
07 - Análise e Manipulação de Dados com Pandas > Notebook Aula07
Cada aula vem acompanhada de uma série de exercícios, todos baseados em problemas físicos. Se, por acaso, você precisar revisar algum conceito físico ou fórmula, sinta-se à vontade para consultar livros didáticos. No entanto, evite procurar soluções do código Python em si, pois isso pode prejudicar seu aprendizado. Afinal, como você aprenderia a programar se apenas copiasse e colasse soluções?
A entrega dos exercícios é opcional e pode ser feita por e-mail para mim: sarah@fisica.ufc.br. O gabarito completo estará disponível no final do curso, na pasta "solucionario".
Para aqueles que desejam aprofundar seus conhecimentos em Python, compilamos uma lista de recursos adicionais. Embora nosso curso seja introdutório e rápido, esses materiais podem lhe ajudar a revisar conceitos fundamentais e explorar tópicos mais avançados. Lembre-se de que diferentes cursos podem abordar o mesmo assunto de maneiras distintas, então sinta-se à vontade para escolher aquele que mais se adequam ao seu estilo de aprendizado e necessidades específicas.
Lógica de Programação
Bibliotecas essenciais
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Scipy
- (Extra: Astrofísica) AstroPy
- (Extra: Machine Learning) Scikit-learn
Nota: Embora os links diretos para os sites oficiais estejam fornecidos, você pode encontrar tutoriais mais práticos e úteis em outros lugares, como no YouTube. Explore e descubra o que melhor se adapta às suas necessidades de aprendizado!
Cursos e Tutoriais de Python
- Learn Python - Full Course for Beginners [Tutorial] (em inglês com legenda em português)
- Python Data Analysis and Visualization Course – Astronomical Data (em inglês)
- Python Tutorial (em inglês mas pode traduzir a página)
Este último trata de um tutorial para aquelas pessoas que não gostam de estudar por vídeo aula, e também eles contêm cursos de numpy, matplotlib e sklearn.
O livro principal usado como base para este curso foi:
- LIN, Johnny Wei-Bing et al. An introduction to Python programming for scientists and engineers. Cambridge University Press, 2022.
Os seguintes livros foram consultados e partes deles foram utilizadas como referência adicional:
-
PINE, David J. Introduction to Python for science and engineering. CRC press, 2019.
-
HILL, Christian. Learning scientific programming with Python. Cambridge University Press, 2020.
-
MORUZZI, Giovanni. Essential Python for the physicist. Cham: Springer International Publishing, 2020.
-
LINGE, Svein; LANGTANGEN, Hans Petter. Programming for computations-Python: A gentle introduction to numerical simulations with Python 3.6. Springer Nature, 2020.