SlideShare uma empresa Scribd logo
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 
http://www.python.org.br
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 (Windows, Linux, Mac, Android) 
● 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 
● Indentaçã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 
● swap 
a, b = b, a
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
Função Map 
● Alterar todos os itens de uma lista 
l = [1, 2 ,3] 
map(str, l) 
● Escrevendo as próprias funções 
def plusplus(n): 
return n+1 
map(plusplus, l)
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 c in “abcdefghi” 
● range(10) 
● range(5, 10) 
● range(2, 20, 2) 
● xrange(10) 
● for l 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
sleep 
● Importe a biblioteca time 
● Utilize a função sleep() 
● O parâmetro é o temo em segundos 
● Útil para executar alguma tarefa de tempos em 
tempos
Manipulando dados da Web 
● Automatizar a coleta e tratamento dos dados da 
web 
● O que eu já fiz: 
Calcula CoRA 
ClickDisk 
Respondedor de Parabéns (Facebook) 
Searcher 
Bot WebGiz 
Bot Agenda 
Flood Google Forms 
Eleições 2014
Manipulando dados da Web 
● Bibliotecas: 
urllib2 
json 
mechanize 
selenium 
Beautiful Soup
urllib2 
● Abrindo um site 
urllib2.urlopen(site).read() 
http://pastebin.com/2q2YHZUJ
urllib2 
● Exemplo:
json 
● JavaScript Object Notation 
● É um formato para troca de dados
Eleições 
● Basta abrir a url e tratar com o json 
● dados = json.loads(resp)
Exercício 
● Crie um programa que faça a apuração das 
eleições utilizando urllib2 e json 
● Link com os dados: http://goo.gl/Uv8u0z 
● Se não conseguir, utilize esse código como apoio: 
http://pastebin.com/uRnDZaTz
Mechanize 
● Simula um Browser 
● Clica em botões 
● Preenche formulários 
http://pastebin.com/2YUPuSph
Selenium 
● Controla as ações de um Browser real 
● Ex: Controla tudo que o firefox faz
Threads 
● Tarefas sendo executadas paralelamente 
● Biblioteca: threading 
● Como usar: 
threading.Thread(target = func, args = [1, 2]) 
http://pastebin.com/2YUPuSph
Dúvidas / Críticas / Sugestões?

Mais conteúdo relacionado

Mais procurados

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
diogoa21
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
Mario Jorge Pereira
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Aula I - Word
Aula I - WordAula I - Word
Aula I - Word
Jéssica Amaral
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
Elaine Cecília Gatto
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
Gercélia Ramos
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
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
Priscila Mayumi
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informáticasocrahn
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
Andrei Bastos
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
Leinylson Fontinele
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
marconesilfer
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
Joeldson Costa Damasceno
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
Leinylson Fontinele
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informática
Daiana de Ávila
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 

Mais procurados (20)

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Visualg
VisualgVisualg
Visualg
 
Aula I - Word
Aula I - WordAula I - Word
Aula I - Word
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
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
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informática
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 

Destaque

WLAN
WLANWLAN
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
 
Introduction to Scrum - Agile Methods
Introduction to Scrum - Agile MethodsIntroduction to Scrum - Agile Methods
Introduction to Scrum - Agile Methods
Cesar Augusto Nogueira
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
Vinicius Marangoni
 
Android Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsAndroid Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcps
Cesar Augusto Nogueira
 
OpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDKOpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDK
Cesar Augusto Nogueira
 

Destaque (6)

WLAN
WLANWLAN
WLAN
 
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
 
Introduction to Scrum - Agile Methods
Introduction to Scrum - Agile MethodsIntroduction to Scrum - Agile Methods
Introduction to Scrum - Agile Methods
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
 
Android Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsAndroid Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcps
 
OpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDKOpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDK
 

Semelhante a Python

Aula python
Aula pythonAula python
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
FATEC São José dos Campos
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em Ruby
Daniel Andrade
 
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
Valter moreira
 
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
 
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
Cleyton Fábio
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
Bruno Nascimento
 
Aula01
Aula01Aula01
Aula01
Yuri Passos
 
Material_ Módulo 3_Python I.pptx.pdf - Python
Material_ Módulo 3_Python I.pptx.pdf - PythonMaterial_ Módulo 3_Python I.pptx.pdf - Python
Material_ Módulo 3_Python I.pptx.pdf - Python
LorrayneSilva26
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
Marco Mendes
 
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
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
Gustavo Fernandes Dos Santos
 
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
Alvaro Oliveira
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
Leonardo Melo Santos
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
Flapenta
 
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
AlysonTrindadeFernan
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
Ricardo Zalla
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
Julio Cesar Eiras Melanda
 

Semelhante a Python (20)

Introducao ao python
Introducao ao pythonIntroducao ao python
Introducao ao python
 
Aula python
Aula pythonAula python
Aula python
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em Ruby
 
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
 
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
 
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
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Aula01
Aula01Aula01
Aula01
 
Material_ Módulo 3_Python I.pptx.pdf - Python
Material_ Módulo 3_Python I.pptx.pdf - PythonMaterial_ Módulo 3_Python I.pptx.pdf - Python
Material_ Módulo 3_Python I.pptx.pdf - Python
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
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
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
 
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
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
 
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
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 

Último

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (6)

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

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 http://www.python.org.br
  • 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 (Windows, Linux, Mac, Android) ● 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
  • 7. Quem usa Python? Back-end
  • 8. Quem usa Python? Animações gráficas
  • 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
  • 12. Hello World! “Hello World” em python
  • 13. Conceitos Básicos ● Case sensitive ● Indentaçã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 ● swap a, b = b, a
  • 16. Entrada de Dados ● raw_input() ● Entrando com inteiros e float
  • 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]
  • 22. Listas ● Acessamos listas por índices:
  • 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. Função Map ● Alterar todos os itens de uma lista l = [1, 2 ,3] map(str, l) ● Escrevendo as próprias funções def plusplus(n): return n+1 map(plusplus, l)
  • 27. 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
  • 29. 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
  • 30. 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.
  • 31. Repetições II ● for c in “abcdefghi” ● range(10) ● range(5, 10) ● range(2, 20, 2) ● xrange(10) ● for l in lista:
  • 32. Tratamento de Exceções ● try, except, else, finally
  • 33. Módulo Random ● help(random) ● randint(1, 10) ● choice(lista ou string) ● shuffle(lista)
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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.
  • 39. 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
  • 40. 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
  • 42. 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.
  • 43. 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
  • 44. 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.
  • 45. 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()
  • 46. 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
  • 47. 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
  • 48. 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.
  • 50. 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()
  • 51. Dica
  • 53. sleep ● Importe a biblioteca time ● Utilize a função sleep() ● O parâmetro é o temo em segundos ● Útil para executar alguma tarefa de tempos em tempos
  • 54. Manipulando dados da Web ● Automatizar a coleta e tratamento dos dados da web ● O que eu já fiz: Calcula CoRA ClickDisk Respondedor de Parabéns (Facebook) Searcher Bot WebGiz Bot Agenda Flood Google Forms Eleições 2014
  • 55. Manipulando dados da Web ● Bibliotecas: urllib2 json mechanize selenium Beautiful Soup
  • 56. urllib2 ● Abrindo um site urllib2.urlopen(site).read() http://pastebin.com/2q2YHZUJ
  • 58. json ● JavaScript Object Notation ● É um formato para troca de dados
  • 59. Eleições ● Basta abrir a url e tratar com o json ● dados = json.loads(resp)
  • 60. Exercício ● Crie um programa que faça a apuração das eleições utilizando urllib2 e json ● Link com os dados: http://goo.gl/Uv8u0z ● Se não conseguir, utilize esse código como apoio: http://pastebin.com/uRnDZaTz
  • 61. Mechanize ● Simula um Browser ● Clica em botões ● Preenche formulários http://pastebin.com/2YUPuSph
  • 62. Selenium ● Controla as ações de um Browser real ● Ex: Controla tudo que o firefox faz
  • 63. Threads ● Tarefas sendo executadas paralelamente ● Biblioteca: threading ● Como usar: threading.Thread(target = func, args = [1, 2]) http://pastebin.com/2YUPuSph
  • 64. Dúvidas / Críticas / Sugestões?