a linguagem python: uma visão...
TRANSCRIPT
![Page 1: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/1.jpg)
A Linguagem Python:Uma visão geralProf. Alberto Costa NetoProgramação em Python
![Page 2: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/2.jpg)
Python é a linguagem do interpretadorPython e daqueles que são capazes de
conversar com ele. Um indivíduo que “fala”Python é denominado Pythonista. Quase
todos os Pythonista conhecidos usamsoftware desenvolvido por Guido van
Rossum.
![Page 3: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/3.jpg)
Iniciantes: Syntax Errors• Precisamos aprender a linguagem Python para comunicar nossas instruções
ao Python. No início cometeremos muitos erros, como crianças pequenasaprendendo a falar.
• Quando você comete um destes erros, o computador não vai lhe achar“lindo”. Ele irá dizer “syntax error” - dado que ele *sabe* a linguagem e vocêestá aprendendo. Parece que o Python é cruel e sem sentimentos.
• Você deve lembrar que *vocês* são inteligentes e *podem* aprender – ocomputador é simples e rápido – mas não pode aprender – então é mais fácilpara você aprender Python do que para o computador aprender Português.
![Page 4: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/4.jpg)
Comunicando-se com o Python
![Page 5: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/5.jpg)
MacBook-Pro-de-Alberto:~ albertocostaneto$ pythonPython 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] ondarwinType "help", "copyright", "credits" or "license" for moreinformation.>>>
PróximoComando?
![Page 6: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/6.jpg)
MacBook-Pro-de-Alberto:~ albertocostaneto$ pythonPython 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] ondarwinType "help", "copyright", "credits" or "license" for moreinformation.>>> x = 1>>> print x1>>> x = x + 1>>> print x2>>> exit()
Este é um bom teste para certificar-se deque você tem o Python instalado
corretamente. Note que quit() tambémencerra a seção de interação.
![Page 7: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/7.jpg)
Vamos falar com o Python...
![Page 8: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/8.jpg)
O quê diremos?
![Page 9: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/9.jpg)
Elementos de Python
• Vocabulário / Palavras – Variáveis e Palavras Reservadas
• Estrutura de Sentenças – Padrões de sintaxe válidos
• Estrutura de Estória – construindo um programa para umpropósito
![Page 10: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/10.jpg)
Palavras Reservadas
• Você não pode usar palavras reservadas como nomes devariáveis / identificadores
and del for is raise assert eliffrom lambda return break else
global not try class except if or while continue exec import
pass yield def finally in printas with
![Page 11: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/11.jpg)
nome = raw_input('Nome do arquivo:')arquivo = open(nome, 'r')texto = arquivo.read()palavras = texto.split()
contadores = dict()for palavra in palavras: contadores[palavra] = contadores.get(palavra,0) + 1maior_contador = Nonepalavra_mais_frequente = None
for palavra,contador in contadores.items(): if maior_contador is None or contador > maior_contador: palavra_mais_frequente = palavra maior_contador = contadorprint palavra_mais_frequente, maior_contador python palavras.py
Nome do arquivo: words.txt to 16
Uma “estória” curtasobre como contar
palavras em umarquivo com
Python
![Page 12: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/12.jpg)
Sentenças ou Linhas
x = 2x = x + 2print x
Variável Operador Constante PalavraReservada
Comando de AtribuiçãoAtribuição com expressãoComando de impressão
![Page 13: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/13.jpg)
Programando Parágrafos
![Page 14: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/14.jpg)
Scripts Python• Python Interativo é bom para experimentos e programas de 3 a 4
linhas
• Como a maioria dos programas é bem maior, nós os digitamos emum arquivo e pedimos Python rodar os comandos contidos noarquivo
• De certa forma estamos “dando um script para o Python”
• Como uma convenção, damos uma extensão “.py” a estes arquivospara indicar que contêm scripts Python
![Page 15: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/15.jpg)
Escrevendo um Programa Simples
![Page 16: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/16.jpg)
Interativo versus Script
• Interativo
> Você pode digitar diretamente uma linha por vez para o Pythonque ele responde
• Script
> Você entra com uma seqüência de comandos (linhas) em umarquivo usando um editor de texto e diz ao Python que execute oscomandos deste arquivo
![Page 17: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/17.jpg)
Passos de um Programa ouFluxo de um Programa
• Como uma receita ou instruções de instalação, um programa éuma seqüência de passos a serem executados em ordem
• Alguns passos são condicionais – podem ser pulados
• Às vezes um passo ou grupo de passos precisam ser repetidos
• Algumas vezes armazenamos um conjunto de passos a seremexecutados várias vezes em muitos pontos de um programa
![Page 18: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/18.jpg)
Passos Seqüenciais
Programa:
x = 2print xx = x + 2print x
Saída:
24
x = 2
print x
x = x + 2
print x
Quando um programa está executando, ele segue o fluxode um passo para o próximo. Como programadores, nós
ajustamos os passos para o programa seguir
![Page 19: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/19.jpg)
Passos Condicionais
Saída:
MenorFim
Programa:
x = 5if x < 10: print 'Menor’if x > 20: print 'Maior'
print 'Fim'
x = 5
x < 10 ?
print 'Menor'
x > 20 ?
print 'Maior'
print 'Fim'
Sim
Não
![Page 20: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/20.jpg)
Passos RepetidosSaída:
54321Fim!
Programa:
n = 5while n > 0 : print n n = n – 1print 'Fim!'
n > 0 ?
Laços ou Loops (passos repetidos) têm variáveis devariáveis de iteração que mudam a cada passada
do laço. Freqüentemente estas variáveis deiteração recebem uma seqüência de números.
Não
print 'Fim!'
Sim
n = 5
print n
n = n -1
![Page 21: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/21.jpg)
nome = raw_input('Nome do arquivo:')arquivo = open(nome, 'r')texto = arquivo.read()palavras = texto.split()
contadores = dict()for palavra in palavras: contadores[palavra] = contadores.get(palavra,0) + 1maior_contador = Nonepalavra_mais_frequente = None
for palavra,contador in contadores.items(): if maior_contador is None or contador > maior_contador: palavra_mais_frequente = palavra maior_contador = contador
print palavra_mais_frequente, maior_contador
Sequencial
Repetido
Condicional
![Page 22: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/22.jpg)
nome = raw_input('Nome do arquivo:')arquivo = open(nome, 'r')texto = arquivo.read()palavras = texto.split()
contadores = dict()for palavra in palavras: contadores[palavra] = contadores.get(palavra,0) + 1maior_contador = Nonepalavra_mais_frequente = None
for palavra,contador in contadores.items(): if maior_contador is None or contador > maior_contador: palavra_mais_frequente = palavra maior_contador = contador
print palavra_mais_frequente, maior_contador
Uma curta “estória” emPython sobre como
contar palavras em umarquivo
Uma palavra usadapara ler um dado do
usuário
Uma sentença paraatualizar um dos
muitos contadores
Um parágrafo sobrecomo encontrar o
maior item de uma lista
![Page 23: A Linguagem Python: Uma visão geralalbertocn.sytes.net/2016-1/icc/slides/03-VisaoGeralPython.pdf · A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em](https://reader035.vdocuments.com.br/reader035/viewer/2022062606/5fe0c1444fdde935d848ec1b/html5/thumbnails/23.jpg)
Acknowledgements / ContributionsAgradecimentos / ContribuiçõesThese slides are Copyright 2010- Charles R. Severance (www.dr-chuck.com) of the University of Michigan School ofInformation and open.umich.edu and made available under aCreative Commons Attribution 4.0 License. Please maintain thislast slide in all copies of the document to comply with theattribution requirements of the license. If you make a change,feel free to add your name and organization to the list ofcontributors on this page as you republish the materials.
Initial Development: Charles Severance, University of MichiganSchool of Information
These slides were translated and adapted by Alberto Costa Neto(albertocn.sytes.net) of the Federal University of Sergipe
...