SlideShare une entreprise Scribd logo
1  sur  100
Télécharger pour lire hors ligne
Programando com Python
Diemesleno Souza Carvalho
diemesleno@simetric.com.br
www.simetric.com.br
Quem utiliza Python?
Python Básico.
Aprofundando na linguagem.
Orientação a Objetos com Python.
1
2
3
4
5
Como seguir daqui para frente?6
Por quê Python?
7 Conclusões.
É uma linguagem simples de aprender.
Permite focar no problema, sem perder tempo na sintaxe.
É interativa.
Alta produtividade.
Orientada a Objetos; Funcional; Estruturada.
Linguagem de uso geral.
...
Por quê Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Quem utiliza Python?
Python Básico
- Abra o terminal e digite: python (aperte enter)
Python Básico
- Digite: import this (enter)
Python Básico
- Digite: print 'Debian Day' (enter)
Python Básico
- Digite: 20 + 1 (enter)
Python Básico
Python utiliza tipagem dinâmica.
Python Básico: Variáveis e Tipos
A variável 'a' é do tipo int
Python utiliza tipagem dinâmica.
Python Básico: Variáveis e Tipos
A variável 'a' agora é do tipo string
OBS: O método “dir” é seu amigo. Lembre-se dele.
Python Básico
O método 'dir' mostra os atributos e métodos suportados pelo objeto.
Mas como utilizar estes atributos / métodos?
Python Básico
O método 'help(objeto.metodo)' como utilizar o atributo / método.
Digite: help(a.istitle) (enter)
Python Básico
O método 'help(objeto.metodo)' como utilizar o atributo / método.
Gerar um baralho
- No console do Python digite:
naipes = 'copas ouros espadas paus'.split()
cartas = 'A 2 3 4 5 6 7 8 9 10 J Q K'.split()
baralho = [(c, n) for n in naipes for c in cartas]
baralho
len(baralho)
Python Básico
Gerar um baralho
Python Básico
Tipos nativos:
- strings, int, long, boolean, float, listas, tuplas e dicionários.
a = 'Debian Day' ou “Debian Day” (string)
c = 1 (int)
d = 999999999999999999999 (long)
e = True ou False (boolean)
f = 3.4 (float)
g = [1,2,3,4,5] (list)
h = (1,2,3, 'Debian Day', 'Python') (tuple)
i = {'evento': 'Debian Day', 'curso': 'Python'} (dict)
Python Básico: Variáveis e Tipos
Verifique os métodos suportados pelos tipos de dados
apresentados no slide anterior e tente utilizar alguns deles.
Utilize dir() para saber quais atributos / métodos são
suportados.
Utilize help(variavel.metodo) para saber como utilizar.
Exercício 1 - Tempo 15 minutos
Strings
- Objeto iterável.
- Imutável
- Podemos utilizar aspas simpes (') e dupas (“)
- Acessível através de índice
- Podemos fazer Slice e Substring através de índice
- Menbership
- ...
Python Básico: Variáveis e Tipos
Strings – Exemplo iteração
a = 'Debian Day'
for letra in a:
print letra
Python Básico: Variáveis e Tipos
Strings – Exemplo menbership
ian in 'debian'
Python Básico: Variáveis e Tipos
Strings – Exemplo reverse
a = 'Debian Day'
a[::-1]
Python Básico: Variáveis e Tipos
Strings – Exemplo com variáveis
m = 'Euro'
t = 3.2456
f = 'O %s está cotado a R$ %0.2f.' %(m,t)
print f
Python Básico: Variáveis e Tipos
Listas
- Objeto iterável.
- Imutável
- Objetos dentro de colchetes []
- Acessível através de indices
- ...
Python Básico: Variáveis e Tipos
Listas – Exemplo
lista = [16, 44, 37, 5, 666]
Python Básico: Variáveis e Tipos
Listas – Exemplo
Verifique os métodos disponíveis com o dir
Python Básico: Variáveis e Tipos
Testar:
- append()
- insert()
- pop()
- remove()
- sort()
- reverse()
- count()
Tuplas
- Imutável
- Objetos dentro de parênteses ()
- Objetos acessíveis pelo indice
- Indicado para retorno em métodos com múltiplo valores
- ...
Python Básico: Variáveis e Tipos
Tuplas – Exemplo
tupla = (33, 81, 'Debian', 'Python')
Python Básico: Variáveis e Tipos
Tuplas – Exemplo
Verifique os métodos disponíveis com o dir
Python Básico: Variáveis e Tipos
Testar:
tupla[3]
Dicionários
- Mapping
- Delimita os objetos com chaves {}
- Par CHAVE:VALOR
- ...
Python Básico: Variáveis e Tipos
Dicionários – Exemplo
eventos = {'nome':'Debian Day', 'curso':'Python'}
Python Básico: Variáveis e Tipos
Dicionários – Exemplo
Verifique os métodos disponíveis com o dir
Python Básico: Variáveis e Tipos
Testar:
- keys()
- values()
- viewkeys()
- viewitems()
- viewvalues()
- __sizeof__()
- clear()
Range
- Função geradora de iteradores
- range(4)
- range(4,9)
- range(0, 10, 2)
- a = range(4)
- a.insert(5, 666)
- a.sort()
- a
Python Básico
raw_input()
- Função para receber dados via teclado
- Dados recebidos são tratados como string
- nome = raw_input()
Python Básico
input()
- Função para receber dados via teclado
- Dados recebidos são tratados como int
- idade = input()
Python Básico
Palavras Reservadas
Python Básico
Blocos
- Identação obrigatória
- Tab's ou
- 4 espaços
* Recomendado
4 espaços
Python Básico
Operadores
==
!=
&
><
is
in
if
elif
else
Python Básico
Instruções de Repetição - while
Python Básico
Instruções de Repetição – for (Exemplo 1)
for var in objeto_iteravel:
Python Básico
Instruções de Repetição – for (Exemplo 2)
for var in objeto_iteravel:
Python Básico
Instruções de Repetição – for (Exemplo 3)
for var in objeto_iteravel:
Python Básico
Criando programas python
- Abra um editor de textos / IDE*
* Recomendo fortemente o Sublime Text
Aprofundando na linguagem
Digite o código abaixo e salve* como programa1.py
Aprofundando na linguagem
* Recomendo criar um diretório para salvar todos os programas.
Utilizando o terminal, vá até o diretório onde está salvo o
arquivo programa1.py e torne-o executável.
chmod +x programa1.py
Rode o programa.
./programa1.py
Aprofundando na linguagem
Comentários em Python
# comentários de 1 linha
''' Comentários de
mais de 1 linha '''
“”” Comentários de
mais de 1 linha “””
Aprofundando na linguagem
Crie um programa em Python, onde seja solicitado ao
usuário o nome, a idade e a profissão. Após o usuário
entrar com os dados, seja impresso na tela as
informações deste usuário.
Exemplo de saída:
O Diemesleno tem 33 anos e é programador de
sistemas.
Exercício - 2
Crie um programa em Python, onde seja solicitado ao
aluno o nome, a nota do primeiro bimestre e a nota do
segundo bimestre. O programa deve efetuar o cálculo
da nota final e informar se o aluno está aprovado ou
reprovado. Para ser aprovado o aluno tem que ter
nota final maior ou igual a 7. Nota menor a 4 o aluno
está reprovado. Nota maior ou igual a 4 e menor que
7 o aluno está de recuperação.
Exercício - 3
Crie um programa em Python, onde o usuário informe
um item de cesta básica e seu preço. O item deve ser
colocado em uma lista e os preços devem ser
somados. A cada item adicionado deve-se imprimir em
tela o valor atualizado da cesta básica.
Exercício - 4
Crie um programa em Python, onde ao ser executado,
imprima em tela o alfabeto de z até a.
Dica: importe o módulo string
Exercício – 5 [Desafio 1]
Orientação a Objetos com Python
Classe: Molde ou modelo do objeto do mundo real mapeado.
Atributo: Características do objeto.
Método: Ação que o objeto é capaz de realizar.
Objeto: Produto gerado a martir do molde. (Classe)
Exemplo:
Classe: Aluno
Atributo: 1.72, 23, masculino
Método: Estudar, Correr
Objeto: Juvenal
Orientação a Objetos com Python
Orientação a Objetos com Python
- Toda classe herda de 'object' ou de outra classe.
- Classes com iniciais maiúsculas, arquivo* com minúsculas.
* O arquivo não precisa ter o mesmo nome. Podemos ter várias classes
em um arquivo.
Atributos de classe e de instância
Orientação a Objetos com Python
← Atributos de classe
Atributos de instância →
Atributos de classe e de instância?
Orientação a Objetos com Python
Atributos de classe e de instância?
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Exercício 6
- Utilizando seu editor de textos ou IDE favorito, crie uma classe
chamada Tamagoshi com os atributos nome, idade, saude e fome.
- Abra o terminal, inicie o console python e instancie um objeto da
classe Tamagoshi, colocando valores em seus atributos. Utilize o
comando “dir” para conhecer a classe e o objeto.
OBS:
- Inicie o console Python dentro do diretório “programas”
- Importe a classe com o comando: from tamagoshi import Tamagoshi onde
tamagoshi é o nome do arquivo que está sua classe.
Orientação a Objetos com Python
Exercício 7
Orientação a Objetos com Python
Orientação a Objetos com Python
Definindo um método
Orientação a Objetos com Python
Método “andar”
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Exercício 8
Orientação a Objetos com Python
Orientação a Objetos com Python
Prática! Implemente a classe Pessoa
Orientação a Objetos com Python
Prática! Implemente a classe Atleta
Orientação a Objetos com Python
Prática! Implemente as classes Corredor, Nadador e Ciclista
Orientação a Objetos com Python
Prática! Implemente a classe TriAtleta
Orientação a Objetos com Python
Exercício 9
Instancie 1 objeto de cada uma das classes e execute seus métodos:
- Pessoa
- Atleta
- Corredor
- Nadador
- Ciclista
- TriAtleta
Orientação a Objetos com Python
Exercício 10
Orientação a Objetos com Python
Orientação a Objetos com Python
Prática!
Orientação a Objetos com Python
Orientação a Objetos com Python
Orientação a Objetos com Python
Encapsulamento
OBS: Lembre-se que temos atributos de instância e atributos de classe
Quando trabalhamos com OO em Python.
Orientação a Objetos com Python
Exercício 11 – Parte 1
Escreva um programa de bancos que possua:
- Uma classe Banco:
- com os atributos:
- private total
- public taxa_reserva
- private reserva_xigida
- com os métodos:
- private calcular_reserva
- public pode_fazer_emprestimo(valor) → boolean
- consultar_total
- adicionar_total
- diminuir_total
Informações:
total = O total de dinheiro que o banco tem.
taxa_reserva = Taxa exigida pelo Banco Central para o banco manter reserva.
reserva_exigida = Cálculo entre o total e a taxa_reserva para saber quanto o
banco tem que manter. O Banco nunca pode ficar com menos que esse valor.
Orientação a Objetos com Python
Exercício 11 – Parte 2
- Uma classe Conta:
- com os atributos:
- private saldo
- private id_conta
- private senha
- private banco
- com os métodos:
- public depositar(senha, valor)
- public sacar(senha, valor)
- public solicitar_emprestimo(valor) → boolean
- public consultar_saldo → float
Regras:
- Para efetuar um depósito deverá checar a senha, o valor será acrescido
no saldo do cliente e também no total do Banco.
- Para efetuar um saque, deverá ser checada a senha, o valor tem que ser
menor ou igual o saldo e deve-se debitar no total do Banco.
- Caso o cliente possa efetuar empréstimo o valor deverá ser debitado do
total do banco e acrescido no saldo do cliente.
Como seguir daqui para frente?
Quer aprender mais Python?
Python:
- http://www.python.org
Python Brasil:
- http://www.python.org.br
Como seguir daqui para frente?
Quer utilizar Python para Desktop?
PythonTk:
- https://wiki.python.org/moin/TkInter
PythonQT:
- https://qt-project.org/search/tag/python
Kivy:
- http://kivy.org/
Como seguir daqui para frente?
Recomendo olhar bem de perto o Kivy!
Quer utilizar Python para Web?
Django:
- https://www.djangoproject.com/
- http://www.djangobrasil.org/
Web2py:
- http://www.web2py.com/
- http://bit.ly/1AbHxSi
Flask:
- http://flask.pocoo.org/
Como seguir daqui para frente?
Quer utilizar Python em Games?
Pygame:
- http://www.pygame.org/
Cocos2D:
- http://cocos2d.org/
Pyglet:
- http://www.pyglet.org/
Como seguir daqui para frente?
Quer utilizar Python para mobile?
Kivy:
- http://kivy.org/
Como seguir daqui para frente?
Seu melhor amigo e pior inimigo
Google:
- http://www.google.com.br
Como seguir daqui para frente?
Python apesar de não ter todo o marketing que Java tem, é
muito utilizada no mercado e consagrada dentro das
melhores universidades.
Para quem quer aprender uma linguagem para poder atuar
em diferentes frentes de trabalho, Python com certeza é uma
boa opção.
Conclusões
Mini-curso de Python de Francisco A. S. Souza
Introdução a Linguagem de Programação Python de Flávio
Ribeiro.
Python para Desenvolvedores 2ed. De Luiz Eduardo Borges
Python a primeira mordida de Marco André Lopes Mendes
www.python.org/doc
Referências
Perguntas?
Diemesleno Souza Carvalho
diemesleno@gmail.com
www.diemesleno.com.br

Contenu connexe

Tendances

Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slidesronaldo ramos
 
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
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de ProgramaçãoRicardo Terra
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

Tendances (20)

Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a 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
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Python
PythonPython
Python
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

En vedette

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonPedro Valente
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e DjangoOsvaldo Santana Neto
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosRodrigo Nossal
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolsoJean Lopes
 

En vedette (16)

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
 
Mini curso de c#.net
Mini curso de c#.netMini curso de c#.net
Mini curso de c#.net
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação 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)
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e Django
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutos
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolso
 
Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
Hackeando o Facebook com Python
Hackeando o Facebook com PythonHackeando o Facebook com Python
Hackeando o Facebook com Python
 

Similaire à Programando com Python

Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLGeorge Mendonça
 
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
 
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
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetosRafael Pinheiro
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptxPapirusDig
 
Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?Marcel Caraciolo
 
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
 
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
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdfSecont
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptMichaelArrais1
 

Similaire à Programando com Python (20)

Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
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
 
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
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptx
 
Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?
 
Poo
PooPoo
Poo
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
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
 
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
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
apresentacao.pdf
apresentacao.pdfapresentacao.pdf
apresentacao.pdf
 

Plus de Diemesleno Souza Carvalho

O mercado e as oportunidades na terceira revolução insdustrial
O mercado e as oportunidades na terceira revolução insdustrialO mercado e as oportunidades na terceira revolução insdustrial
O mercado e as oportunidades na terceira revolução insdustrialDiemesleno Souza Carvalho
 
Expandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software LivreExpandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software LivreDiemesleno Souza Carvalho
 
Internet das coisas na terceira revolução industrial
Internet das coisas na terceira revolução industrialInternet das coisas na terceira revolução industrial
Internet das coisas na terceira revolução industrialDiemesleno Souza Carvalho
 
E commerce: Da escolha do nicho até a primeira venda
E commerce:  Da escolha do nicho até a primeira vendaE commerce:  Da escolha do nicho até a primeira venda
E commerce: Da escolha do nicho até a primeira vendaDiemesleno Souza Carvalho
 
Computação física com Arduino e Raspberry Pi
Computação física com Arduino e Raspberry PiComputação física com Arduino e Raspberry Pi
Computação física com Arduino e Raspberry PiDiemesleno Souza Carvalho
 
Iniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidIniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidDiemesleno Souza Carvalho
 
Desenvolvendo aplicacoes para TV Digital Interativa
Desenvolvendo aplicacoes para TV Digital InterativaDesenvolvendo aplicacoes para TV Digital Interativa
Desenvolvendo aplicacoes para TV Digital InterativaDiemesleno Souza Carvalho
 
Desenvolvimento para tv digital interativa [ dia 2]
Desenvolvimento para tv digital interativa [ dia 2]Desenvolvimento para tv digital interativa [ dia 2]
Desenvolvimento para tv digital interativa [ dia 2]Diemesleno Souza Carvalho
 
Desenvolvimento para tv digital interativa [ dia 1]
Desenvolvimento para tv digital interativa [ dia 1]Desenvolvimento para tv digital interativa [ dia 1]
Desenvolvimento para tv digital interativa [ dia 1]Diemesleno Souza Carvalho
 
Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Diemesleno Souza Carvalho
 

Plus de Diemesleno Souza Carvalho (18)

Classificador de imagens com redes neurais
Classificador de imagens com redes neuraisClassificador de imagens com redes neurais
Classificador de imagens com redes neurais
 
O mercado e as oportunidades na terceira revolução insdustrial
O mercado e as oportunidades na terceira revolução insdustrialO mercado e as oportunidades na terceira revolução insdustrial
O mercado e as oportunidades na terceira revolução insdustrial
 
Minicurso android
Minicurso androidMinicurso android
Minicurso android
 
Desenvolvimento Android
Desenvolvimento AndroidDesenvolvimento Android
Desenvolvimento Android
 
Expandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software LivreExpandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software Livre
 
Internet das coisas na terceira revolução industrial
Internet das coisas na terceira revolução industrialInternet das coisas na terceira revolução industrial
Internet das coisas na terceira revolução industrial
 
E commerce: Da escolha do nicho até a primeira venda
E commerce:  Da escolha do nicho até a primeira vendaE commerce:  Da escolha do nicho até a primeira venda
E commerce: Da escolha do nicho até a primeira venda
 
Internet das Coisas
Internet das CoisasInternet das Coisas
Internet das Coisas
 
Computação física com Arduino e Raspberry Pi
Computação física com Arduino e Raspberry PiComputação física com Arduino e Raspberry Pi
Computação física com Arduino e Raspberry Pi
 
Iniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidIniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para android
 
Palestra TV Digital Interativa - Hora Livre
Palestra TV Digital Interativa - Hora LivrePalestra TV Digital Interativa - Hora Livre
Palestra TV Digital Interativa - Hora Livre
 
Palestra tv digital interativa Dourados
Palestra tv digital interativa DouradosPalestra tv digital interativa Dourados
Palestra tv digital interativa Dourados
 
Desenvolvendo aplicacoes para TV Digital Interativa
Desenvolvendo aplicacoes para TV Digital InterativaDesenvolvendo aplicacoes para TV Digital Interativa
Desenvolvendo aplicacoes para TV Digital Interativa
 
Desenvolvimento para tv digital interativa [ dia 2]
Desenvolvimento para tv digital interativa [ dia 2]Desenvolvimento para tv digital interativa [ dia 2]
Desenvolvimento para tv digital interativa [ dia 2]
 
Desenvolvimento para tv digital interativa [ dia 1]
Desenvolvimento para tv digital interativa [ dia 1]Desenvolvimento para tv digital interativa [ dia 1]
Desenvolvimento para tv digital interativa [ dia 1]
 
Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]
 
ApresentaçAo Joomla
ApresentaçAo JoomlaApresentaçAo Joomla
ApresentaçAo Joomla
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 

Programando com Python

  • 1. Programando com Python Diemesleno Souza Carvalho diemesleno@simetric.com.br www.simetric.com.br
  • 2. Quem utiliza Python? Python Básico. Aprofundando na linguagem. Orientação a Objetos com Python. 1 2 3 4 5 Como seguir daqui para frente?6 Por quê Python? 7 Conclusões.
  • 3. É uma linguagem simples de aprender. Permite focar no problema, sem perder tempo na sintaxe. É interativa. Alta produtividade. Orientada a Objetos; Funcional; Estruturada. Linguagem de uso geral. ... Por quê Python?
  • 14. - Abra o terminal e digite: python (aperte enter) Python Básico
  • 15. - Digite: import this (enter) Python Básico
  • 16. - Digite: print 'Debian Day' (enter) Python Básico
  • 17. - Digite: 20 + 1 (enter) Python Básico
  • 18. Python utiliza tipagem dinâmica. Python Básico: Variáveis e Tipos A variável 'a' é do tipo int
  • 19. Python utiliza tipagem dinâmica. Python Básico: Variáveis e Tipos A variável 'a' agora é do tipo string
  • 20. OBS: O método “dir” é seu amigo. Lembre-se dele. Python Básico O método 'dir' mostra os atributos e métodos suportados pelo objeto.
  • 21. Mas como utilizar estes atributos / métodos? Python Básico O método 'help(objeto.metodo)' como utilizar o atributo / método.
  • 22. Digite: help(a.istitle) (enter) Python Básico O método 'help(objeto.metodo)' como utilizar o atributo / método.
  • 23. Gerar um baralho - No console do Python digite: naipes = 'copas ouros espadas paus'.split() cartas = 'A 2 3 4 5 6 7 8 9 10 J Q K'.split() baralho = [(c, n) for n in naipes for c in cartas] baralho len(baralho) Python Básico
  • 25. Tipos nativos: - strings, int, long, boolean, float, listas, tuplas e dicionários. a = 'Debian Day' ou “Debian Day” (string) c = 1 (int) d = 999999999999999999999 (long) e = True ou False (boolean) f = 3.4 (float) g = [1,2,3,4,5] (list) h = (1,2,3, 'Debian Day', 'Python') (tuple) i = {'evento': 'Debian Day', 'curso': 'Python'} (dict) Python Básico: Variáveis e Tipos
  • 26. Verifique os métodos suportados pelos tipos de dados apresentados no slide anterior e tente utilizar alguns deles. Utilize dir() para saber quais atributos / métodos são suportados. Utilize help(variavel.metodo) para saber como utilizar. Exercício 1 - Tempo 15 minutos
  • 27. Strings - Objeto iterável. - Imutável - Podemos utilizar aspas simpes (') e dupas (“) - Acessível através de índice - Podemos fazer Slice e Substring através de índice - Menbership - ... Python Básico: Variáveis e Tipos
  • 28. Strings – Exemplo iteração a = 'Debian Day' for letra in a: print letra Python Básico: Variáveis e Tipos
  • 29. Strings – Exemplo menbership ian in 'debian' Python Básico: Variáveis e Tipos
  • 30. Strings – Exemplo reverse a = 'Debian Day' a[::-1] Python Básico: Variáveis e Tipos
  • 31. Strings – Exemplo com variáveis m = 'Euro' t = 3.2456 f = 'O %s está cotado a R$ %0.2f.' %(m,t) print f Python Básico: Variáveis e Tipos
  • 32. Listas - Objeto iterável. - Imutável - Objetos dentro de colchetes [] - Acessível através de indices - ... Python Básico: Variáveis e Tipos
  • 33. Listas – Exemplo lista = [16, 44, 37, 5, 666] Python Básico: Variáveis e Tipos
  • 34. Listas – Exemplo Verifique os métodos disponíveis com o dir Python Básico: Variáveis e Tipos Testar: - append() - insert() - pop() - remove() - sort() - reverse() - count()
  • 35. Tuplas - Imutável - Objetos dentro de parênteses () - Objetos acessíveis pelo indice - Indicado para retorno em métodos com múltiplo valores - ... Python Básico: Variáveis e Tipos
  • 36. Tuplas – Exemplo tupla = (33, 81, 'Debian', 'Python') Python Básico: Variáveis e Tipos
  • 37. Tuplas – Exemplo Verifique os métodos disponíveis com o dir Python Básico: Variáveis e Tipos Testar: tupla[3]
  • 38. Dicionários - Mapping - Delimita os objetos com chaves {} - Par CHAVE:VALOR - ... Python Básico: Variáveis e Tipos
  • 39. Dicionários – Exemplo eventos = {'nome':'Debian Day', 'curso':'Python'} Python Básico: Variáveis e Tipos
  • 40. Dicionários – Exemplo Verifique os métodos disponíveis com o dir Python Básico: Variáveis e Tipos Testar: - keys() - values() - viewkeys() - viewitems() - viewvalues() - __sizeof__() - clear()
  • 41. Range - Função geradora de iteradores - range(4) - range(4,9) - range(0, 10, 2) - a = range(4) - a.insert(5, 666) - a.sort() - a Python Básico
  • 42. raw_input() - Função para receber dados via teclado - Dados recebidos são tratados como string - nome = raw_input() Python Básico
  • 43. input() - Função para receber dados via teclado - Dados recebidos são tratados como int - idade = input() Python Básico
  • 45. Blocos - Identação obrigatória - Tab's ou - 4 espaços * Recomendado 4 espaços Python Básico
  • 47. Instruções de Repetição - while Python Básico
  • 48. Instruções de Repetição – for (Exemplo 1) for var in objeto_iteravel: Python Básico
  • 49. Instruções de Repetição – for (Exemplo 2) for var in objeto_iteravel: Python Básico
  • 50. Instruções de Repetição – for (Exemplo 3) for var in objeto_iteravel: Python Básico
  • 51. Criando programas python - Abra um editor de textos / IDE* * Recomendo fortemente o Sublime Text Aprofundando na linguagem
  • 52. Digite o código abaixo e salve* como programa1.py Aprofundando na linguagem * Recomendo criar um diretório para salvar todos os programas.
  • 53. Utilizando o terminal, vá até o diretório onde está salvo o arquivo programa1.py e torne-o executável. chmod +x programa1.py Rode o programa. ./programa1.py Aprofundando na linguagem
  • 54. Comentários em Python # comentários de 1 linha ''' Comentários de mais de 1 linha ''' “”” Comentários de mais de 1 linha “”” Aprofundando na linguagem
  • 55. Crie um programa em Python, onde seja solicitado ao usuário o nome, a idade e a profissão. Após o usuário entrar com os dados, seja impresso na tela as informações deste usuário. Exemplo de saída: O Diemesleno tem 33 anos e é programador de sistemas. Exercício - 2
  • 56. Crie um programa em Python, onde seja solicitado ao aluno o nome, a nota do primeiro bimestre e a nota do segundo bimestre. O programa deve efetuar o cálculo da nota final e informar se o aluno está aprovado ou reprovado. Para ser aprovado o aluno tem que ter nota final maior ou igual a 7. Nota menor a 4 o aluno está reprovado. Nota maior ou igual a 4 e menor que 7 o aluno está de recuperação. Exercício - 3
  • 57. Crie um programa em Python, onde o usuário informe um item de cesta básica e seu preço. O item deve ser colocado em uma lista e os preços devem ser somados. A cada item adicionado deve-se imprimir em tela o valor atualizado da cesta básica. Exercício - 4
  • 58. Crie um programa em Python, onde ao ser executado, imprima em tela o alfabeto de z até a. Dica: importe o módulo string Exercício – 5 [Desafio 1]
  • 60. Classe: Molde ou modelo do objeto do mundo real mapeado. Atributo: Características do objeto. Método: Ação que o objeto é capaz de realizar. Objeto: Produto gerado a martir do molde. (Classe) Exemplo: Classe: Aluno Atributo: 1.72, 23, masculino Método: Estudar, Correr Objeto: Juvenal Orientação a Objetos com Python
  • 61. Orientação a Objetos com Python - Toda classe herda de 'object' ou de outra classe. - Classes com iniciais maiúsculas, arquivo* com minúsculas. * O arquivo não precisa ter o mesmo nome. Podemos ter várias classes em um arquivo.
  • 62. Atributos de classe e de instância Orientação a Objetos com Python ← Atributos de classe Atributos de instância →
  • 63. Atributos de classe e de instância? Orientação a Objetos com Python
  • 64. Atributos de classe e de instância? Orientação a Objetos com Python
  • 70. Exercício 6 - Utilizando seu editor de textos ou IDE favorito, crie uma classe chamada Tamagoshi com os atributos nome, idade, saude e fome. - Abra o terminal, inicie o console python e instancie um objeto da classe Tamagoshi, colocando valores em seus atributos. Utilize o comando “dir” para conhecer a classe e o objeto. OBS: - Inicie o console Python dentro do diretório “programas” - Importe a classe com o comando: from tamagoshi import Tamagoshi onde tamagoshi é o nome do arquivo que está sua classe. Orientação a Objetos com Python
  • 71. Exercício 7 Orientação a Objetos com Python
  • 73. Definindo um método Orientação a Objetos com Python Método “andar”
  • 76. Orientação a Objetos com Python Exercício 8
  • 78. Orientação a Objetos com Python Prática! Implemente a classe Pessoa
  • 79. Orientação a Objetos com Python Prática! Implemente a classe Atleta
  • 80. Orientação a Objetos com Python Prática! Implemente as classes Corredor, Nadador e Ciclista
  • 81. Orientação a Objetos com Python Prática! Implemente a classe TriAtleta
  • 82. Orientação a Objetos com Python Exercício 9 Instancie 1 objeto de cada uma das classes e execute seus métodos: - Pessoa - Atleta - Corredor - Nadador - Ciclista - TriAtleta
  • 83. Orientação a Objetos com Python Exercício 10
  • 85. Orientação a Objetos com Python Prática!
  • 88. Orientação a Objetos com Python Encapsulamento OBS: Lembre-se que temos atributos de instância e atributos de classe Quando trabalhamos com OO em Python.
  • 89. Orientação a Objetos com Python Exercício 11 – Parte 1 Escreva um programa de bancos que possua: - Uma classe Banco: - com os atributos: - private total - public taxa_reserva - private reserva_xigida - com os métodos: - private calcular_reserva - public pode_fazer_emprestimo(valor) → boolean - consultar_total - adicionar_total - diminuir_total Informações: total = O total de dinheiro que o banco tem. taxa_reserva = Taxa exigida pelo Banco Central para o banco manter reserva. reserva_exigida = Cálculo entre o total e a taxa_reserva para saber quanto o banco tem que manter. O Banco nunca pode ficar com menos que esse valor.
  • 90. Orientação a Objetos com Python Exercício 11 – Parte 2 - Uma classe Conta: - com os atributos: - private saldo - private id_conta - private senha - private banco - com os métodos: - public depositar(senha, valor) - public sacar(senha, valor) - public solicitar_emprestimo(valor) → boolean - public consultar_saldo → float Regras: - Para efetuar um depósito deverá checar a senha, o valor será acrescido no saldo do cliente e também no total do Banco. - Para efetuar um saque, deverá ser checada a senha, o valor tem que ser menor ou igual o saldo e deve-se debitar no total do Banco. - Caso o cliente possa efetuar empréstimo o valor deverá ser debitado do total do banco e acrescido no saldo do cliente.
  • 91. Como seguir daqui para frente?
  • 92. Quer aprender mais Python? Python: - http://www.python.org Python Brasil: - http://www.python.org.br Como seguir daqui para frente?
  • 93. Quer utilizar Python para Desktop? PythonTk: - https://wiki.python.org/moin/TkInter PythonQT: - https://qt-project.org/search/tag/python Kivy: - http://kivy.org/ Como seguir daqui para frente? Recomendo olhar bem de perto o Kivy!
  • 94. Quer utilizar Python para Web? Django: - https://www.djangoproject.com/ - http://www.djangobrasil.org/ Web2py: - http://www.web2py.com/ - http://bit.ly/1AbHxSi Flask: - http://flask.pocoo.org/ Como seguir daqui para frente?
  • 95. Quer utilizar Python em Games? Pygame: - http://www.pygame.org/ Cocos2D: - http://cocos2d.org/ Pyglet: - http://www.pyglet.org/ Como seguir daqui para frente?
  • 96. Quer utilizar Python para mobile? Kivy: - http://kivy.org/ Como seguir daqui para frente?
  • 97. Seu melhor amigo e pior inimigo Google: - http://www.google.com.br Como seguir daqui para frente?
  • 98. Python apesar de não ter todo o marketing que Java tem, é muito utilizada no mercado e consagrada dentro das melhores universidades. Para quem quer aprender uma linguagem para poder atuar em diferentes frentes de trabalho, Python com certeza é uma boa opção. Conclusões
  • 99. Mini-curso de Python de Francisco A. S. Souza Introdução a Linguagem de Programação Python de Flávio Ribeiro. Python para Desenvolvedores 2ed. De Luiz Eduardo Borges Python a primeira mordida de Marco André Lopes Mendes www.python.org/doc Referências