Skip to content

Curso introdutório à linguagem Python especialmente desenvolvido para alunos de graduação em Física da Universidade Federal do Ceará (UFC).

License

Notifications You must be signed in to change notification settings

SarahBarbosa/curso-python-ufc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Informações importantes! ⚠️

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 ✅

O que é Python e por que aprender esta linguagem? 🐍

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.

Ambientes de Desenvolvimento Integrado (IDEs) 📋

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:

PyCharm 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.

Visual Studio Code Embora seja uma editor de código-fonte mais geral, o VS Code possui uma grande quantidade de extensões Python.

Jupyter Notebook 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.

Spyder 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.

Python 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.

Notebooks Jupyter (.ipynb) 📔

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

Estrutura do Curso 📌

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

    • Expressões
      • Operadores
      • Variáveis
  • 02 - Python como uma calculadora científica > Notebook Aula02

    • Funções
      • Importando módulos
      • Escrevendo e usando suas próprias funções
  • 03 - Gráficos de Linha e Dispersão Parte I > Notebook Aula03

    • Introdução a listas e tuplas
      • Listas
        • Fatia de uma lista
        • Manipulação de listas
      • Tuplas
    • Introdução a strings
      • F-strings
      • Manipulação de strings
    • Introdução aos comentários
      • Docstrings
    • Criação básica de gráficos de linha e dispersão
  • 04 - Gráficos de Linha e Dispersão Parte II > Notebook Aula04

    • Personalizando a aparência do gráfico
      • Ajustando o tamanho do gráfico
    • Lidando com múltiplas figuras
      • Criando gráficos separados (lado a lado)
      • Superposição de vários gráficos e adicionando legendas
    • Introdução a cálculos com arrays
    • Conceito de tipagem
  • 05 - Preparação Preliminar para Análise de Dados Parte I > Notebook Aula05

    • Uma pequena parada: range
    • Mais sobre criação de arrays
    • Introdução a estrutura condicional
      • Booleanos
      • Delcaração if
      • Declaração if-else
      • Declaração if-elif
      • Aninhando sentenças if-else
    • Introdução aos loops
      • for
      • while
  • 06 - Preparação Preliminar para Análise de Dados Parte II > Notebook Aula06

    • Arrays bidimensionais
      • Criando arrays 2D e visualizando sua dimensão
      • Acessando e fatiando um array 2D
      • Cálculos com arrays 2D
      • Laços de repetição aninhados
    • Números aleatórios
  • 07 - Análise e Manipulação de Dados com Pandas > Notebook Aula07

    • Dicionários
    • Pandas: uma ferramenta de análise e manipulação de dados
      • Criando um DataFrame
      • Acessando linhas, colunas e células
      • Importando e exportando DataFrames
      • Ordenação, operações e estatísticas
    • Limpeza e exploração de dados
      • Valores ausentes
      • Valores duplicados
      • Seleção condicional
    • Agrupando, mesclando, unindo e concatennando DataFrames
    • (EXTRA) Pandas DateTime
    • Plotando com Pandas

Entrega de exercícios 📑

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".

Vá mais longe! 📚

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

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

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.

Referências

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.

About

Curso introdutório à linguagem Python especialmente desenvolvido para alunos de graduação em Física da Universidade Federal do Ceará (UFC).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published