Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


curso programação python, Resumos de Algoritmos e Programação

curso programação python. curso programação python.

Tipologia: Resumos

2020

Compartilhado em 15/06/2026

tarlison-brito
tarlison-brito 🇧🇷

1 documento

1 / 91

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Curso Introdutório de Python
Grupy-Sanca
03 de abril de 2019
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b

Pré-visualização parcial do texto

Baixe curso programação python e outras Resumos em PDF para Algoritmos e Programação, somente na Docsity!

Curso Introdutório de Python

Grupy-Sanca

03 de abril de 2019

  • Prefácio
  • 1 Introdução
    • 1.1 O que é Python?
    • 1.2 Exemplos
  • 2 Sobre o grupy-sanca
    • 2.1 Atividades
    • 2.2 Histórico
  • 3 Guia de Instalação do Python
    • 3.1 Linux
    • 3.2 Mac OS X
    • 3.3 Windows
  • 4 Ambientes de Desenvolvimento
    • 4.1 Ambientes gráficos
    • 4.2 Linha de comando
  • 5 Hello World
    • 5.1 C
    • 5.2 Java
    • 5.3 Pascal
    • 5.4 Python
    • 5.5 Função print()
  • 6 Python como calculadora
    • 6.1 Operadores matemáticos
    • 6.2 Exercícios
    • 6.3 Expressões Numéricas
    • 6.4 Notação Científica
    • 6.5 Pontos Flutuantes
    • 6.6 Exercícios
    • 6.7 Sobre Comentários
    • 6.8 Comparações
  • 7 Variáveis
    • 7.1 Atribuição
    • 7.2 Nomes de Variáveis
    • 7.3 Exercícios
    • 7.4 Strings (sequência de caracteres)
    • 7.5 Tipos de objetos
    • 7.6 Tamanho
    • 7.7 Índices
    • 7.8 Fatias
    • 7.9 Buscando ajuda rapidamente
    • 7.10 Formatação de strings
    • 7.11 Separação de Strings
    • 7.12 Atribuição múltipla
    • 7.13 Exercícios
  • 8 Lendo valores do teclado
    • 8.1 Exercícios
  • 9 Listas
    • 9.1 Declaração
    • 9.2 Índices
    • 9.3 Removendo itens da lista
    • 9.4 Trabalhando com listas
    • 9.5 Exercícios
    • 9.6 Função range()
  • 10 Condicionais
  • 11 Estruturas de controle
    • 11.1 Exercícios
  • 12 Estruturas de repetição
    • 12.1 Exercícios
  • 13 Funções
    • 13.1 Definindo funções
  • 14 Exercícios e Desafios!
    • 14.1 Calculadora
    • 14.2 Variáveis
    • 14.3 Strings
    • 14.4 Listas
    • 14.5 Teclado
    • 14.6 Estruturas de Controle
    • 14.7 Estruturas de repetição
    • 14.8 Funções
  • 15 Contribuidores

Prefácio

O objetivo deste curso é introduzir os conceitos básicos de programação para pessoas sem experiência em desenvolvi- mento ou iniciantes que não conheçam a linguagem Python.

O recomendado é cada participante ter acesso a um computador durante o curso para fazer os exercícios. O único modo de aprender programação é programando.

A duração estimada para este curso é de cerca de 7 horas, mas esse tempo pode variar dependendo do tamanho da turma e da disponibilidade de café.

Sugerimos que o curso seja realizado:

  • em um dia inteiro: com pausas (~20 min) no meio da manhã e da tarde e um intervalo para o almoço; ou
  • em três dias seguidos: por cerca de duas ou duas horas e meia em cada dia.

Este trabalho está licenciado sob a Licença Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional (BY-NC- SA 4.0 internacional) Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/ licenses/by-nc-sa/4.0/

CAPÍTULO 1

Introdução

1.1 O que é Python?

Python é uma linguagem de programação. Isso significa basicamente duas coisas:

  1. existem regras que determinam como as palavras são dispostas, já que é uma linguagem;
  2. o texto descreve instruções para o computador realizar tarefas.

Ou seja, podemos escrever um documento - que chamamos de código fonte - em Python para o computador ler e realizar nossos desejos e tarefas. Python tem algumas características interessantes:

  • é interpretada, ou seja, o interpretador do Python executa o código fonte diretamente, traduzindo cada trecho para instruções de máquina;
  • é de alto nível, ou seja, o interpretador se vira com detalhes técnicos do computador. Assim, desenvolver um código é mais simples do que em linguagens de baixo nível, nas quais o programador deve se preocupar com detalhes da máquina;
  • é de propósito geral, ou seja, podemos usar Python para desenvolver programas em diversas áreas. Ao contrário de linguagens de domínio específico, que são especializadas e atendem somente a uma aplicação específica;
  • tem tipos dinâmicos, ou seja, o interpretador faz a magia de descobrir o que é cada variável.

Por essas e várias outras características, Python se torna uma linguagem simples, bela, legível e amigável. É uma linguagem utilizada por diversas empresas, como Wikipedia, Google, Yahoo!, CERN, NASA, Facebook, Amazon, Instagram, Spotify... 1

O desenvolvimento de Python começou no final da década de 1980, por Guido van Rossum. Ele decidiu usar esse nome porque estava lendo um roteiro de Monty Python, um grupo de comédia inglês da década de 1970. A documentação oficial do Python contém muitas referências aos filmes e personagens desse grupo.

Um resumo das versões desta linguagem:

  • Versão 1.0 foi publicada em Janeiro de 1994. (^1) Lista compilada pela página da Wikipedia sobre Python (^11) , em inglês. (^11) https://en.wikipedia.org/wiki/Python_(programming_language)#Uses

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

  • Versão 2.0 foi publicada em Outubro de 2000.
  • Versão 3.0 foi publicada em Dezembro de 2008. 3.7 é a versão mais recente.

1.2 Exemplos

Vamos ver alguns exemplos sobre o uso de Python no mundo real.

1.2.1 BitTorrent

O protocolo Torrent é muito utilizado para transferir quantidades grandes de dados para diversos computadores. O primeiro programa a implementar esse protocolo foi desenvolvido inteiramente em Python, pela BitTorrent, Inc.!^2

1.2.2 Django

Django é um conjunto de pacotes para desenvolvimento web. E é baseado em Python :)

Um objetivo de Django é desenvolver facilmente websites complexos e que lidam com bancos de dados grandões. Alguns sites desenvolvidos em Django: Instagram, The Washington Times, Disqus, Mozilla, National Geographic.^6

1.2.3 Dropbox

O popular serviço de armazenamento de dados em Nuvem Dropbox tem diversas partes da infraestrutura feita em Python.^5 O aplicativo para computadores é feito em Python e grande parte da infra estrutura dos servidores deles também é!

1.2.4 Estudo sobre erupções solares

Não somente a indústria utiliza Python, muitos pesquisadores utilizam em diversas áreas científicas.

É possível de modo bem simples estudar as erupções solares desde 1992 até hoje. O Observatório Real da Bélgica tem um banco de dados sobre o número de manchas solares, e disponibilizam online para estudos.^4 Veja como é o código para visualizar a atividade solar desde 01/01/1992 em cada parte (norte e sul) do Sol:

import pandas as pd # isso aqui gerencia os dados import matplotlib.pyplot as plt # isso aqui permite fazer gráficos

pega os dados solares de WDC-SILSO, Royal Observatory of Belgium, Brussels

sun = pd.read_table('http://sidc.oma.be/silso/INFO/sndhemcsv.php', sep=';', encoding ˓→= "ISO-8859-1", header=-1)

faz o gráfico de cada hemisfério do sol

fig = plt.figure() plt.scatter(sun[3], sun[5], label='Norte', alpha=0.5) plt.scatter(sun[3], sun[6], label='Sul', alpha=0.5)

plt.title("Atividade solar diária \n ") (continues on next page) (^2) https://en.wikipedia.org/wiki/BitTorrent_(software)#History (^6) https://www.djangoproject.com/start/overview/ (^5) https://en.wikipedia.org/wiki/Dropbox_(service)#Technology (^4) http://sidc.oma.be/silso/home

4 Capítulo 1. Introdução

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Figura2: Reprodução dos resultados científicos publicados em 2012 sobre a descoberta do Bóson de Higgs. Gráfico obtido com o código publicado na apostila online^10 , que utiliza dados públicos do experimento CMS, no CERN.

6 Capítulo 1. Introdução

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Figura3: Capa do jogo The Sims 4, da Electronic Arts.

1.2. Exemplos 7

CAPÍTULO 2

Sobre o grupy-sanca

O grupy-sanca (Grupo de Usuários Python de São Carlos) é uma comunidade que reúne pessoas interessadas em desenvolvimento de software e na linguagem Python. Prezamos pela troca de conhecimento, respeito mútuo e diversi- dade (tanto de opinião quanto de tecnologias).

Somos um grupo da cidade de São Carlos (SP) e região. Realizamos periodicamente diversos eventos.

2.1 Atividades

2.1.1 Cursos e oficinas de programação

Oferecemos cursos básicos de Python e também sobre alguns assuntos específicos. Durante os cursos os membros do grupy se voluntariam para serem monitores e ajudam a solucionar eventuais dúvidas dos participantes.

Também aceitamos convites para ministrar nossos cursos em eventos, como semanas acadêmicas.

2.1.2 Pylestras

Evento com o objetivo de reunir a comunidade, compartilhar conhecimento e divulgar novas tecnologias. É tradicio- nalmente composto por palestras rápidas (~17 minutos), onde obrigatoriamente uma delas não é sobre Python.

Qualquer pessoa interessada pode submeter uma palestra, independentemente do tema ser para iniciantes ou usuários avançados. Para deixar a escolha democrática, costumamos usar o Speakerfight^12 , onde a própria comunidade escolhe as palestras que acha mais interessantes.

2.1.3 Coding Dojos

É um espaço para que as pessoas possam aprender, treinar e aprimorar suas habilidades em programação. O coding dojo é um ótimo lugar para aprender coisas novas.

(^12) https://speakerfight.com/profile/grupysanca/

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Figura1: Nosso primeiro curso de Python \o/ Realizado em 25 de março de 2017, no ICMC - USP - São Carlos. Tivemos ~200 inscritos! 81 participantes! 4 ministrantes! 8 monitores!! 2 coffee-breaks! 4 garrafas térmicas: café e chá!

Figura2: Curso de Python básico no IFSC! Realizado em 01 de Julho de 2017, no IFSC - USP - São Carlos. Tivemos ~100 inscritos! 38 participantes! 2 ministrantes! 3 monitores!! 2 coffee-breaks! 2 garrafas térmicas com apenas café :P

10 Capítulo 2. Sobre o grupy-sanca

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

12 Capítulo 2. Sobre o grupy-sanca

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Em um coding dojo são propostos vários desafios e os participantes selecionam quais querem resolver. Após esco- lherem o desafio, as pessoas leem o problema, entendem e discutem como resolvê-lo. Com esses pontos resolvidos, começa a programação da solução. O desenvolvimento é feito em apenas um computador por duas pessoas progra- mando por vez (pair programming). Sendo que a cada intervalo de 5 minutos as pessoas à frente do computador dão lugar para outras.

Para o dojo fluir bem, adota-se o TDD (Test Driven Development), pois assim as pessoas pensam melhor em como o código será utilizado antes de desenvolver. Também segue-se o desenvolvimento por baby steps em que tenta-se dividir o problema em partes menores para resolvê-lo.

Ao término do dojo acontece uma retrospectiva em que as pessoas respondem três perguntas básicas: o que foi apren- dido?; o que pode ser melhorado? e o que deve continuar a ser feito?. Isso serve para os participantes melhorarem nos dojos futuros. Por experiência do grupy-sanca, fazer isso realmente vale a pena :)

2.1.4 Eventos

O grupy-sanca também organiza eventos singulares, únicos no universo!

Um dos maiores eventos realizados pela comunidade foi o Caipyra 2018, o único evento de Python com quentão e paçoquinha, que tem por objetivo ser uma conferência de Python voltada ao público do interior do estado de São Paulo.

Após duas edições sediadas em Ribeirão Preto, o grupy-sanca trouxe o evento para São Carlos em 2018 (e já está organizando a edição de 2019).

2.1.5 Sprints

Sprints são maratonas de programação. Um grupo de pessoas se junta no mesmo lugar para desenvolver algum projeto novo, resolver bugs de algum software, ou implementar alguma funcionalidade nova.

Durante os sprints, usuários iniciantes podem aprender como contribuir com projetos open source, sendo um ambiente ideal para ter contato com pessoas mais experientes e aprender boas práticas.

2.1. Atividades 13

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Figura7: Foram consumidos ~40 litros de quentão e 1625 paçoquinhas

Figura8: Oferecemos um espaço infantil para os papais e mamães poderem participar do evento

2.1. Atividades 15

Curso Introdutório de Python, grupy-sanca, CC BY-NC-SA 4.

Figura9: Tudo isso feito com muito carinho pelos membros do grupy-sanca <

Figura10: Hacktoberfest de 2017 :) Fizemos cerca de 50 commits esse dia o/

16 Capítulo 2. Sobre o grupy-sanca