23
A Linguagem Python: Uma visão geral Prof. Alberto Costa Neto Programação em Python

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

  • Upload
    others

  • View
    41

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...