SlideShare uma empresa Scribd logo
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
Anúncio

Recomendados

Python - Introdução
Python - Introdução
fabiocerqueira
 
Programação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
Python - Introdução Básica
Python - Introdução Básica
Christian Perone
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - Português
Helio Colombe
 
Apresentação python fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
Python e django na prática
Python e django na prática
Rafael Cassau
 
Curso de Python e Django
Curso de Python e Django
Osvaldo Santana Neto
 
Arrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Paradigma Orientado a Objeto
Paradigma Orientado a Objeto
Tony Alexander Hild
 
Programação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Introdução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
Python Orientação a Objeto
Python Orientação a Objeto
antonio sérgio nogueira
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Formation python 3
Formation python 3
WajihBaghdadi1
 
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Edureka!
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | Edureka
Edureka!
 
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
 
Apresentação dos comandos básicos do Scratch
Apresentação dos comandos básicos do Scratch
Cecifm
 
Orientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Introdução ao Python
Introdução ao Python
Marcio Palheta
 
Introdução a python
Introdução a python
Gemilson George
 
JAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
 
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Leinylson Fontinele
 
Linguagem C - Vetores
Linguagem C - Vetores
Elaine Cecília Gatto
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
Leinylson Fontinele
 
Python - Programando em alto nível
Python - Programando em alto nível
Igor Sobreira
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
Pedro Valente
 

Mais conteúdo relacionado

Mais procurados (20)

Paradigma Orientado a Objeto
Paradigma Orientado a Objeto
Tony Alexander Hild
 
Programação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Introdução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
Python Orientação a Objeto
Python Orientação a Objeto
antonio sérgio nogueira
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Formation python 3
Formation python 3
WajihBaghdadi1
 
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Edureka!
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | Edureka
Edureka!
 
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
 
Apresentação dos comandos básicos do Scratch
Apresentação dos comandos básicos do Scratch
Cecifm
 
Orientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Introdução ao Python
Introdução ao Python
Marcio Palheta
 
Introdução a python
Introdução a python
Gemilson George
 
JAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
 
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Leinylson Fontinele
 
Linguagem C - Vetores
Linguagem C - Vetores
Elaine Cecília Gatto
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
Leinylson Fontinele
 
Programação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Introdução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Edureka!
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | Edureka
Edureka!
 
Apresentação dos comandos básicos do Scratch
Apresentação dos comandos básicos do Scratch
Cecifm
 
Orientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Introdução ao Python
Introdução ao Python
Marcio Palheta
 
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Leinylson Fontinele
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
Leinylson Fontinele
 

Destaque (17)

Python - Programando em alto nível
Python - Programando em alto nível
Igor Sobreira
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
Pedro Valente
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
Giancarlo Silva
 
Mini curso de c#.net
Mini curso de c#.net
Diemesleno Carvalho
 
Python: programação divertida novamente
Python: programação divertida novamente
Rodrigo Amaral
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
Flávio Ribeiro
 
Python for zombies (very basic level)
Python for zombies (very basic level)
FATEC São José dos Campos
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
Gilson Filho
 
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 Django
Osvaldo Santana Neto
 
Python e Django na Globo.com
Python e Django na Globo.com
ricobl
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutos
Rodrigo Nossal
 
Tutorial Django + Python
Tutorial Django + Python
Mateus Padua
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
Igor Sobreira
 
Python - Guia de bolso
Python - Guia de bolso
Jean Lopes
 
Aprendendo python
Aprendendo python
Victor Marcelino
 
Hackeando o Facebook com Python
Hackeando o Facebook com Python
FATEC São José dos Campos
 
Python - Programando em alto nível
Python - Programando em alto nível
Igor Sobreira
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
Pedro Valente
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
Giancarlo Silva
 
Python: programação divertida novamente
Python: programação divertida novamente
Rodrigo Amaral
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
Flávio Ribeiro
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
Gilson Filho
 
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 Django
Osvaldo Santana Neto
 
Python e Django na Globo.com
Python e Django na Globo.com
ricobl
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutos
Rodrigo Nossal
 
Tutorial Django + Python
Tutorial Django + Python
Mateus Padua
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
Igor Sobreira
 
Python - Guia de bolso
Python - Guia de bolso
Jean Lopes
 
Anúncio

Semelhante a Programando com Python (20)

Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Palestra python
Palestra python
Rony Cruch
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
Ben Hur Bahia do Nascimento
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Jackson Meires
 
Aula 02 - Atribuição - Entrada e saída.pptx
Aula 02 - Atribuição - Entrada e saída.pptx
Carlos Allexadre Gustavo de Souza
 
DCT1101_-_Semana_03_-_Varia769veis_Tipos_de_Dados_e_Expresso771es2.pdf
DCT1101_-_Semana_03_-_Varia769veis_Tipos_de_Dados_e_Expresso771es2.pdf
xdele38
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
Valter moreira
 
Python introdução a linguagem de programação
Python introdução a linguagem de programação
AlysonTrindadeFernan
 
Workshop Python.2
Workshop Python.2
Marcelo Lira
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptx
PapirusDig
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
Alvaro Oliveira
 
Introdução a linguagem Python
Introdução a linguagem Python
Cleyson de Sousa Lima
 
Linguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Slide_Python.pdf
Slide_Python.pdf
HevertonSCosta
 
Minicurso Python
Minicurso Python
guestac3de
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
Ricardo Zalla
 
Programação em Python_6.pptx
Programação em Python_6.pptx
zarusca
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
lucianacmota
 
9. IA 1 - Introdução a programação em Python.pdf
9. IA 1 - Introdução a programação em Python.pdf
MilvaNnMarluZz
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Palestra python
Palestra python
Rony Cruch
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Jackson Meires
 
DCT1101_-_Semana_03_-_Varia769veis_Tipos_de_Dados_e_Expresso771es2.pdf
DCT1101_-_Semana_03_-_Varia769veis_Tipos_de_Dados_e_Expresso771es2.pdf
xdele38
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
Valter moreira
 
Python introdução a linguagem de programação
Python introdução a linguagem de programação
AlysonTrindadeFernan
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptx
PapirusDig
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
Alvaro Oliveira
 
Linguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Minicurso Python
Minicurso Python
guestac3de
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
Ricardo Zalla
 
Programação em Python_6.pptx
Programação em Python_6.pptx
zarusca
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
lucianacmota
 
9. IA 1 - Introdução a programação em Python.pdf
9. IA 1 - Introdução a programação em Python.pdf
MilvaNnMarluZz
 
Anúncio

Mais de Diemesleno Carvalho (18)

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

Último (12)

Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
ssuser1712ed
 
Certified SAFe 6 Lean Portfolio Manager
Certified SAFe 6 Lean Portfolio Manager
Adail Viana Neto
 
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
destruidorschirmer
 
Certified SAFe 6 Agilist
Certified SAFe 6 Agilist
Adail Viana Neto
 
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
jarlisonsantos1985
 
Como Criar uma Partição Bootável no HD Interno.pptx
Como Criar uma Partição Bootável no HD Interno.pptx
vieirapatricio94
 
Capítulo 7 - Redes de computadores multimídia.ppt
Capítulo 7 - Redes de computadores multimídia.ppt
ssuser0a4331
 
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
vieirapatricio94
 
POAN-1 trabalho de antena de microfita.pptx
POAN-1 trabalho de antena de microfita.pptx
joaquimpaulo2306
 
Breve Histórico do Computador [2 de 2].pdf
Breve Histórico do Computador [2 de 2].pdf
jarlisonsantos1985
 
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
destruidorschirmer
 
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
ssuser0a4331
 
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
ssuser1712ed
 
Certified SAFe 6 Lean Portfolio Manager
Certified SAFe 6 Lean Portfolio Manager
Adail Viana Neto
 
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
destruidorschirmer
 
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
jarlisonsantos1985
 
Como Criar uma Partição Bootável no HD Interno.pptx
Como Criar uma Partição Bootável no HD Interno.pptx
vieirapatricio94
 
Capítulo 7 - Redes de computadores multimídia.ppt
Capítulo 7 - Redes de computadores multimídia.ppt
ssuser0a4331
 
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
vieirapatricio94
 
POAN-1 trabalho de antena de microfita.pptx
POAN-1 trabalho de antena de microfita.pptx
joaquimpaulo2306
 
Breve Histórico do Computador [2 de 2].pdf
Breve Histórico do Computador [2 de 2].pdf
jarlisonsantos1985
 
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
destruidorschirmer
 
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
ssuser0a4331
 

Programando com Python

  • 1. Programando com Python Diemesleno Souza Carvalho [email protected] 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