SlideShare a Scribd company logo
1 of 52
Introdução a Python
Sobre
●

Criada por Guido van Rossum em 1991

●

Nome inspirado pelo grupo de comédia Monty Python

●

Linguagem interpretada, de tipagem dinâmica e forte

http://pt.wikipedia.org/wiki/Python
Por que Python?
●

●

●

Foque na lógica sem se preocupar com a
sintaxe
Interativa
Bibliotecas inclusas (re, random, math, urllib2, time,
zlib, threading, tkinter, PIL, numpy, etc)

●

Orientada a objetos, funcional ou estruturada

●

Uso geral

●

Multi-plataforma

●

Fácil de aprender
Por que Python?
http://en.wikipedia.org/wiki/List_of_Python_software

●
●
●
●
●
●

Blender 3D - 3D art and animation program
Django, web2py - web framework
PyGTK, PyQt, PySide - GUI
Biopython - Python molecular biology suite
SciPy - Alternativa gratuita para MATLAB
Matplotlib - MATLAB-like plotting and mathematical functions
Quem usa Python?
Quem usa Python?
Quem usa Python?

Back-end
Quem usa Python?

Animações gráficas
Quem usa Python?

Computação Gráfica/Renderização
Quem usa Python?

Computação Gráfica/Renderização
Hello World!
“Hello World” em Java

“Hello World” em C
Hello World!
“Hello World” em python
Conceitos Básicos
●

Case sensitive

●

Identação

●

Operações matemáticas (+ - * / ** %)

●

Números grandes

●

Inteiros e quebrados

●

Operações Lógicas (== != > < and or)

●

type()

●

Strings
Variáveis
●

●

●

●

Nada a declarar!
Variáveis são postites:
a = 30
id(a) == id(30)
Dinamicamente tipada
Função str()
a = 20
a + “laranja” ← ERRADO!!!
str(a) + “laranja” ← CERTO =D
Marcações
●

●

●

Imprimindo variáveis
● print “a = %d” %(a)
● print “Pi = %.2f” %(3.1415)
● print “a =”, a
● print “a = {0} e b = {1}” .format(a, b)
Aspas simples e duplas
Atribuições múltiplas
a, b = 1, 2
Entrada de Dados
●

raw_input()

●

Entrando com inteiros e float
Condições
if, elif, else
Exercícios
1 – Faça um programa que leia dois números e
imprima o maior deles
2 – Faça um programa que leia três números e
imprima o maior deles
3 – Faça um programa que leia dois textos e
compare se eles são iguais
Repetições
●

Imprimindo de 1 a 5

●

while():

●

Imprimindo números até um fim (e o
conceito de contador)
Exercício
1 – Imprima os pares entre 0 e o número
fornecido utilizando os conceitos de condição e
repetição
Listas
●

●

●

Listas são como vetores em C
Uma mesma lista pode armazenar qualquer outro
tipo de dado, incluindo outra lista
Inicializamos uma lista vazia da seguinte forma:
lista = []

●

Ou uma lista com elementos da seguinte forma:
lista = [“Vinicius”, 19, “laranja”, 3.1415]
Listas
●

Acessamos listas por índices:
Listas
●

●

Acrescentamos itens ao final da lista da seguinte
forma:

Não é possível acrescentar itens em uma lista
utilizando índices, mas podemos modificar itens
Listas
●

Se estiver na lista, ou se não estiver
Listas
●

Função len()
A função len() retorna o tamanho. Pode ser o
tamanho de uma string ou o tamanho de uma
lista por exemplo
Exercício
1 – Dada a lista abaixo, calcule e imprima a média
aritmética.
lista = [8.5, 9.2, 4.0, 10.0]
2 – Crie um programa que adicione itens em uma
lista sem repetir nenhum item.

Desafio:
Faça um programa que leia dez caracteres e diga
quantas consoantes foram lidas
Resposta do Desafio
Strings
●

Acessando por índices

●

Última posição

●

Da posição m até a n-1

●

Pulando de dois em dois

●

De trás para frente

●

Strings são imutáveis

●

startswith, endswith, lower, upper, find, replace,
split, join
Exercício
1 – Faça um programa que peça para o usuário
digitar a data no formato dd/mm/aaaa. No final,
imprima o mês por extenso. Por exemplo:
Entrada: 10/09/1994
Saída: 10 de setembro de 1994

●

Dica: Utilize uma lista para guardar os nomes dos
meses.
Repetições II
●

for in “abcdefghi”

●

range(10)

●

range(5, 10)

●

for in lista:
Tratamento de Exceções
●

try, except, else, finally
Módulo Random
●

help(random)

●

randint(1, 10)

●

choice(lista ou string)

●

shuffle(lista)
Exercício
1 – Faça um programa que gere uma lista com 10
números aleatórios entre 0 e 10, escolha
aleatoriamente dois números e tente fazer a
divisão entre eles.
Utilize “for”, o módulo random aprendido e o
tratamento de exceções em caso de divisão por
zero
Funções
●

●

●

●

Definimos uma função da seguinte forma:

Funções em python são muito fáceis!
Não precisamos nos preocupar com o retorno
Se o retorno for float, a função retorna float
automaticamente. Isso serve para todos os tipos
de dados.
Se não existir o comando “return” ela
simplesmente não retorna nada
Funções
●

●

Exemplo de função que não retorna nada

Um outro conceito importante que devemos ver é
o escopo das variáveis. Uma variável pode ser
global ou local. Por padrão a variável é local. Para
torná-la global precisamos dizer para a função
que ela é global. Veremos no próximo slide um
exemplo que ilustra isso
Funções

Saída

●

Podemos ver que a funcao1() não altera o valor
da variável global. Já a funcao2() altera. Para isso
utilizamos o identificador “global” que diz que a
variável “a” que estamos nos referindo é global.
Caso a variável a não existisse, a funcao2() criaria
um variável global
chr() e ord()
●

●

●

A letra “A” (maiúscula), na tabela ASCII é
representada pelo número 65
Podemos ver isso em python utilizando a função
ord(). Tente ord(“A”) no modo interativo.
Podemos fazer o contrário também, utilizando a
função chr(). Tente chr(110) no modo interativo.
Cifra de César
●

●

●

Cifra de César é uma das mais simples e
conhecidas técnicas de criptografia. Ela consiste
em mover É um tipo de cifra de substituição na
qual cada letra do texto é substituída por outra
representada no mesmo alfabeto. A substituição
ocorre alterando a posição definida.
Por exemplo:
Texto normal: ABCDE
Texto criptografado: CDEFG
É como fazer:
letra = letra + 2 posições
Exercício
1 - Crie um programa que contenha duas funções.
Uma codifica o texto e a outra decodifica. Utilize
a Cifra de César. Faça também com que o número
de casas deslocadas seja fornecida como
argumento de cada função
Resposta do Exercício
HTML em variáveis
●

Podemos armazenar textos com várias linhas.
Para fazer isso devemos apenas escrever tudo
entre três aspas (simples ou duplas).
Exemplo:

●

Isso pode ser muito útil para criar uma página em
html.
Arquivos
●

●

●

●

Vamos agora manipular arquivos com python.
Para abrir arquivos usamos a função open()
Essa função recebe dois parâmetros. O primeiro é
o caminho do arquivo. O segundo é o modo como
ele será aberto.
O arquivo pode ser aberto para leitura (r),
gravação (w) ou atualização (a).
Vejamos um exemplo
Arquivos

●

●

Quando utilizamos a função open() sem o
segundo argumento, o arquivo é aberto
automaticamente como leitura (mode 'r')
Utilizamos read() para ler o conteúdo do arquivo
e split() para retirar o n.
Arquivos
Instruções

●

●

Arquivo antes
das instruções

Arquivo depois
das instruções

Quando utilizamos o argumento “w”, se o arquivo
existir, seu conteúdo será sobrescrito
Antes de sair do programa, devemos sempre
fechar o arquivo com close()
Arquivos
●

Mas se utilizarmos o argumento “a” (append)
iremos atualizar o arquivo, escrevendo no final do
mesmo

Instruções

Arquivo antes
das instruções

Arquivo depois
das instruções
Dicionário
●

●

Dicionário é como uma lista. Porém, acessamos
os índices através de chaves. Inicializamos um
dicionário com {}
Para adicionar novos itens não precisamos utilizar
append. Basta fazer a atribuição.
-Se a chave já existir, o valor será alterado
-Se a chave não existir, será criada
Exercício
1 – Faça um programa que o usuário digitará o
nome e a idade de dez pessoas. Os dados digitados
devem ser armazenados em um dicionário. No
final, exiba o nome de todas as pessoas seguidas
de suas respectivas idades.
Resposta
Desafio
1 – Faça um programa que leia o arquivo alice.txt e
calcule o número de ocorrências de cada palavra.

●

●

●

Dica: Para evitar problemas com acentuações e
pontuações, vamos ver uma técnica interessante
para preparar o nosso texto.
Utilizaremos a biblioteca string
Dica 2: Faça todas as palavras serem minúsculas
frase = frase.lower()
Dica
Resposta
Dúvidas / Críticas / Sugestões?

More Related Content

What's hot

Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da ComputaçãoAlefe Variani
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Alex Camargo
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: ThreadsAlex Camargo
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem pythonBruno Maspoli
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turingwab030
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...Tchelinux
 
Programação genética - IA
Programação genética - IAProgramação genética - IA
Programação genética - IABenedilosn
 

What's hot (20)

Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 
AulaPython.pdf
AulaPython.pdfAulaPython.pdf
AulaPython.pdf
 
Linguagem Go
Linguagem GoLinguagem Go
Linguagem Go
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: Threads
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Cap10
Cap10Cap10
Cap10
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...
Python for the last Jedi episode I - Tchelinux Caxias do Sul 2018 - Joelmir R...
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Lpiii dp-apostila
Lpiii dp-apostilaLpiii dp-apostila
Lpiii dp-apostila
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Programação genética - IA
Programação genética - IAProgramação genética - IA
Programação genética - IA
 
Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2
 
Slide Share s2 Rodd
Slide Share s2 RoddSlide Share s2 Rodd
Slide Share s2 Rodd
 
Estruturas
EstruturasEstruturas
Estruturas
 
Aula 22
Aula 22Aula 22
Aula 22
 

Viewers also liked

[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program description[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program descriptionCesar Augusto Nogueira
 
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRES
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRESBRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRES
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRESGlobal Risk Forum GRFDavos
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogCesar Augusto Nogueira
 
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SPCertificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SPCesar Augusto Nogueira
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionCesar Augusto Nogueira
 
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016Cesar Augusto Nogueira
 
Certificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. NogueiraCertificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. NogueiraCesar Augusto Nogueira
 

Viewers also liked (7)

[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program description[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program description
 
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRES
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRESBRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRES
BRAZILIAN SCIENTIFIC PROGRAMS IN NATURAL DISASTRES
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SPCertificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
 
Certificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. NogueiraCertificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
 

Similar to Introducao ao python

Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfValter moreira
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaSérgio Souza Costa
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução PythonGleison Rodrigues
 
Python introdução a linguagem de programação
Python introdução a linguagem de programaçãoPython introdução a linguagem de programação
Python introdução a linguagem de programaçãoAlysonTrindadeFernan
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Kratos879
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It YourselfBruno Nascimento
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 

Similar to Introducao ao python (20)

Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Python introdução a linguagem de programação
Python introdução a linguagem de programaçãoPython introdução a linguagem de programação
Python introdução a linguagem de programação
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
Tutorial Python - 1
Tutorial Python - 1Tutorial Python - 1
Tutorial Python - 1
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Aula python
Aula pythonAula python
Aula python
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 

Introducao ao python

  • 2. Sobre ● Criada por Guido van Rossum em 1991 ● Nome inspirado pelo grupo de comédia Monty Python ● Linguagem interpretada, de tipagem dinâmica e forte http://pt.wikipedia.org/wiki/Python
  • 3. Por que Python? ● ● ● Foque na lógica sem se preocupar com a sintaxe Interativa Bibliotecas inclusas (re, random, math, urllib2, time, zlib, threading, tkinter, PIL, numpy, etc) ● Orientada a objetos, funcional ou estruturada ● Uso geral ● Multi-plataforma ● Fácil de aprender
  • 4. Por que Python? http://en.wikipedia.org/wiki/List_of_Python_software ● ● ● ● ● ● Blender 3D - 3D art and animation program Django, web2py - web framework PyGTK, PyQt, PySide - GUI Biopython - Python molecular biology suite SciPy - Alternativa gratuita para MATLAB Matplotlib - MATLAB-like plotting and mathematical functions
  • 9. Quem usa Python? Computação Gráfica/Renderização
  • 10. Quem usa Python? Computação Gráfica/Renderização
  • 11. Hello World! “Hello World” em Java “Hello World” em C
  • 13. Conceitos Básicos ● Case sensitive ● Identação ● Operações matemáticas (+ - * / ** %) ● Números grandes ● Inteiros e quebrados ● Operações Lógicas (== != > < and or) ● type() ● Strings
  • 14. Variáveis ● ● ● ● Nada a declarar! Variáveis são postites: a = 30 id(a) == id(30) Dinamicamente tipada Função str() a = 20 a + “laranja” ← ERRADO!!! str(a) + “laranja” ← CERTO =D
  • 15. Marcações ● ● ● Imprimindo variáveis ● print “a = %d” %(a) ● print “Pi = %.2f” %(3.1415) ● print “a =”, a ● print “a = {0} e b = {1}” .format(a, b) Aspas simples e duplas Atribuições múltiplas a, b = 1, 2
  • 18. Exercícios 1 – Faça um programa que leia dois números e imprima o maior deles 2 – Faça um programa que leia três números e imprima o maior deles 3 – Faça um programa que leia dois textos e compare se eles são iguais
  • 19. Repetições ● Imprimindo de 1 a 5 ● while(): ● Imprimindo números até um fim (e o conceito de contador)
  • 20. Exercício 1 – Imprima os pares entre 0 e o número fornecido utilizando os conceitos de condição e repetição
  • 21. Listas ● ● ● Listas são como vetores em C Uma mesma lista pode armazenar qualquer outro tipo de dado, incluindo outra lista Inicializamos uma lista vazia da seguinte forma: lista = [] ● Ou uma lista com elementos da seguinte forma: lista = [“Vinicius”, 19, “laranja”, 3.1415]
  • 23. Listas ● ● Acrescentamos itens ao final da lista da seguinte forma: Não é possível acrescentar itens em uma lista utilizando índices, mas podemos modificar itens
  • 24. Listas ● Se estiver na lista, ou se não estiver
  • 25. Listas ● Função len() A função len() retorna o tamanho. Pode ser o tamanho de uma string ou o tamanho de uma lista por exemplo
  • 26. Exercício 1 – Dada a lista abaixo, calcule e imprima a média aritmética. lista = [8.5, 9.2, 4.0, 10.0] 2 – Crie um programa que adicione itens em uma lista sem repetir nenhum item. Desafio: Faça um programa que leia dez caracteres e diga quantas consoantes foram lidas
  • 28. Strings ● Acessando por índices ● Última posição ● Da posição m até a n-1 ● Pulando de dois em dois ● De trás para frente ● Strings são imutáveis ● startswith, endswith, lower, upper, find, replace, split, join
  • 29. Exercício 1 – Faça um programa que peça para o usuário digitar a data no formato dd/mm/aaaa. No final, imprima o mês por extenso. Por exemplo: Entrada: 10/09/1994 Saída: 10 de setembro de 1994 ● Dica: Utilize uma lista para guardar os nomes dos meses.
  • 30. Repetições II ● for in “abcdefghi” ● range(10) ● range(5, 10) ● for in lista:
  • 31. Tratamento de Exceções ● try, except, else, finally
  • 33. Exercício 1 – Faça um programa que gere uma lista com 10 números aleatórios entre 0 e 10, escolha aleatoriamente dois números e tente fazer a divisão entre eles. Utilize “for”, o módulo random aprendido e o tratamento de exceções em caso de divisão por zero
  • 34. Funções ● ● ● ● Definimos uma função da seguinte forma: Funções em python são muito fáceis! Não precisamos nos preocupar com o retorno Se o retorno for float, a função retorna float automaticamente. Isso serve para todos os tipos de dados. Se não existir o comando “return” ela simplesmente não retorna nada
  • 35. Funções ● ● Exemplo de função que não retorna nada Um outro conceito importante que devemos ver é o escopo das variáveis. Uma variável pode ser global ou local. Por padrão a variável é local. Para torná-la global precisamos dizer para a função que ela é global. Veremos no próximo slide um exemplo que ilustra isso
  • 36. Funções Saída ● Podemos ver que a funcao1() não altera o valor da variável global. Já a funcao2() altera. Para isso utilizamos o identificador “global” que diz que a variável “a” que estamos nos referindo é global. Caso a variável a não existisse, a funcao2() criaria um variável global
  • 37. chr() e ord() ● ● ● A letra “A” (maiúscula), na tabela ASCII é representada pelo número 65 Podemos ver isso em python utilizando a função ord(). Tente ord(“A”) no modo interativo. Podemos fazer o contrário também, utilizando a função chr(). Tente chr(110) no modo interativo.
  • 38. Cifra de César ● ● ● Cifra de César é uma das mais simples e conhecidas técnicas de criptografia. Ela consiste em mover É um tipo de cifra de substituição na qual cada letra do texto é substituída por outra representada no mesmo alfabeto. A substituição ocorre alterando a posição definida. Por exemplo: Texto normal: ABCDE Texto criptografado: CDEFG É como fazer: letra = letra + 2 posições
  • 39. Exercício 1 - Crie um programa que contenha duas funções. Uma codifica o texto e a outra decodifica. Utilize a Cifra de César. Faça também com que o número de casas deslocadas seja fornecida como argumento de cada função
  • 41. HTML em variáveis ● Podemos armazenar textos com várias linhas. Para fazer isso devemos apenas escrever tudo entre três aspas (simples ou duplas). Exemplo: ● Isso pode ser muito útil para criar uma página em html.
  • 42. Arquivos ● ● ● ● Vamos agora manipular arquivos com python. Para abrir arquivos usamos a função open() Essa função recebe dois parâmetros. O primeiro é o caminho do arquivo. O segundo é o modo como ele será aberto. O arquivo pode ser aberto para leitura (r), gravação (w) ou atualização (a). Vejamos um exemplo
  • 43. Arquivos ● ● Quando utilizamos a função open() sem o segundo argumento, o arquivo é aberto automaticamente como leitura (mode 'r') Utilizamos read() para ler o conteúdo do arquivo e split() para retirar o n.
  • 44. Arquivos Instruções ● ● Arquivo antes das instruções Arquivo depois das instruções Quando utilizamos o argumento “w”, se o arquivo existir, seu conteúdo será sobrescrito Antes de sair do programa, devemos sempre fechar o arquivo com close()
  • 45. Arquivos ● Mas se utilizarmos o argumento “a” (append) iremos atualizar o arquivo, escrevendo no final do mesmo Instruções Arquivo antes das instruções Arquivo depois das instruções
  • 46. Dicionário ● ● Dicionário é como uma lista. Porém, acessamos os índices através de chaves. Inicializamos um dicionário com {} Para adicionar novos itens não precisamos utilizar append. Basta fazer a atribuição. -Se a chave já existir, o valor será alterado -Se a chave não existir, será criada
  • 47. Exercício 1 – Faça um programa que o usuário digitará o nome e a idade de dez pessoas. Os dados digitados devem ser armazenados em um dicionário. No final, exiba o nome de todas as pessoas seguidas de suas respectivas idades.
  • 49. Desafio 1 – Faça um programa que leia o arquivo alice.txt e calcule o número de ocorrências de cada palavra. ● ● ● Dica: Para evitar problemas com acentuações e pontuações, vamos ver uma técnica interessante para preparar o nosso texto. Utilizaremos a biblioteca string Dica 2: Faça todas as palavras serem minúsculas frase = frase.lower()
  • 50. Dica
  • 52. Dúvidas / Críticas / Sugestões?