Você está na página 1de 76

Silvio Luiz

Formao e experincia
Cursando Ps Graduao em Projetos e Desenvolvimento de Aplicaes WEB;
Graduado em Anlise e Desenvolvimento de Sistemas (Fatec Guaratinguet);
Proprietrio da Orions Sites e Host;

Projetos
Python Girls
Code Python
Projeto i-Train (automao de maquete) na Fatec Guaratinguet);

Mini cursos ministrados:


Aprendendo Python. 2014
Desenvolvendo Formulrios de Contato para sites com validao
em PHP. 2013
Desenvolvimento de sites em HTML e CSS - Padro W3C. 2012

Facebook

https://www.facebook.com/silviolleite
Twitter

@silvioorions
Linkedin

https://br.linkedin.com/pub/silvio-luis-pereira-leite/83/18/3b8
Gplus

https://plus.google.com/u/0/110949568861807162142/
Skype

silviolleite
GitHub

https://github.com/silviolleite
Hangout

silvio@orions.com.br

www.orions.com.br

PLULA AZUL
VOC VAI PARA A
CASA E EST
TUDO ACABADO

PLULA VERMELHA
VOC IR PERCEBER
QUE S
O COMEO

AUTONOMIA

O GitHub listou as 9 linguagens de programao mais populares do mundo


Fonte: http://imasters.com.br/noticia/ranking-aponta-as-principais-linguagens-deprogramacao-de-2016/

print (Vamos comear)

Instalao
Python 3.5.2
Link: https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe

Como comeou?
A linguagem foi criada em 1990 por Guido van
Rossum, no Instituto Nacional de Pesquisa para
Matemtica e Cincia da Computao da Holanda
(CWI) e tinha originalmente foco em usurios como
fsicos e engenheiros. O Python foi concebido a partir
de outra linguagem existente na poca, chamada
ABC.

Completamente Open Source


(sim Java e C# eu estou olhando pra vocs)

Caractersticas da Linguagem?
Python uma linguagem de programao poderosa e fcil de aprender;
Interpretada e pseudo-compilada;
Identao define Caractersticas escopo (sem necessidade dos famigerados
{} );
Tipagem dinmica (os tipos das variveis no precisam ser explicitados,
podendo variar durante a execuo ou compilao);
Tipagem forte (a varivel mantm seu tipo at sofrer uma nova atribuio);

Caractersticas da Linguagem?

1 Simples
2 Elegante
3 Poderosa
4 Escalvel
5 Dinmica
6 Multiplataforma
7 Multi paradigmas
8 Alto nvel
9 Funcional
10 Open Source

Quem usa Python?

Blocos

Introduo a linguagem Python

Uma varivel um identificador que armazena um nico valor.


Como declarar uma varivel em Python?

variavel = 2

identificador

Valor armazenado

Tipos Primitivos

Inteiro
Float

variavel = 2
pi = 3.14

Booleano

variavel = True

No complexo

comp = 1 + 0.8j

String

nome = Python

Input

num = int(input(Digite um nmero: ))

Operadores Aritmticos

+ soma
subtrao
* multiplicao
/ diviso
// diviso de inteiros
** potenciao
% mdulo (resto da diviso)

Operadores Lgicos

> maior
>= maior ou igual
<= menor ou igual
== igual
!= diferente
not Operador lgico que representa a negao (inverso) da varivel atual.
Se ela for verdade, torna-se falsa, e vice-versa.

and Operador lgico onde a resposta da operao verdade se


ambas as variveis de entrada forem verdade.

or Operador lgico onde a resposta da operao verdade se e


somente se pelo menos uma das variveis de entrada for verdade.

Strings

Manipulando Strings
Esse mtodo bem lega. Ele troca todas as primeiras
letras da frase de minuscula por maisculas.

Esse mtodo troca as letras da string


para maisculas.

A funo len retorna o nmero de caracteres de


uma string:

A funo verifica se a string comea com a string


passado por parmetro.
Tambm podemos usar o string.endswith() para
verificar o final da string.

Manipulando Strings
Este mtodo faz a troca dos valores. O primeiro
parmetro ser trocado pelo segundo.

Esse mtodo retorna uma lista onde os itens so as


partes que foram separadas pelo marcador
passado como parmetro

Retornar uma cpia do string com os caracteres


esquerda e direita removidos.

Retornar o texto com upercase (caixa alta)

Formatando Strings

s string
d decimal
f ponto flutuante
b converte para binrio
c converte para a tabela ASCII
o converte para octal
x converte para hexadecimal
n mesmo que d

Formatando Strings
Exemplo

Estrutura de deciso

if <condio>:
No esquea a
indentao

<Bloco de comandos>

elif <condio>:
Podem no ocorrer
ou ocorrer n vezes

<Bloco de comandos>

elif <condio>:
<Bloco de comandos>
Se no haver
satisfao de
nenhuma das
condies

else:
<Bloco de comandos>

Estrutura de deciso

Fica a critrio do programador ou da


exigncia da lgica de condio
utilizar ou no o (). Ex: if (n1 < n2):
Inicio

Entre com n1

Entre com n2

Verdadeiro
n1 > n2

Escreva n1

Falso

Escreva n2

Estrutura de deciso

Fica a critrio do programador ou da


exigncia da lgica de condio
utilizar ou no o (). Ex: if (n1 < n2):
Inicio

Entre com n1

n1 = int(input(Entre com n1: ))


n2 = int(input(Entre com n2: ))
if n1 > n2:
print(n1)
else:
print(n2)

Entre com n2

Verdadeiro
n1 > n2

Escreva n1

Falso

Escreva n2

Estrutura de deciso simplificada


A varivel recebe o valor1 se a condio for verdadeira seno receber o valor2

<varivel>

<valor1>

if

<condio>

else

Sintaxe

logado = True
saudacao = Ol Username if logado else faa Login
Print(saudacao)

<valor2>

Vamos Praticar?

1 - Faa um Programa que leia trs nmeros e mostre o maior e o menor


deles.
2 - Faa um Programa que pergunte em que turno voc estuda. Pea para
digitar M-matutino ou V-Vespertino ou N- Noturno. Imprima a mensagem
"Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou "Valor Invlido!", conforme o
caso.
3 - Faa um Programa que leia um nmero e exiba o dia correspondente da
semana. (1-Domingo, 2- Segunda, etc.), se digitar outro valor deve aparecer
valor invlido.

Lao de Repetio
While (enquanto)

Lao de Repetio
While (enquanto)

Lao de Repetio
While (enquanto)

Exemplo

Sada

Lao de Repetio
For (para)

Lao de Repetio
For (para)

Lao de Repetio
For (para)

Exemplo

Sada

Sequncia (Arrays) em Python

Em programao, muitas vezes torna-se necessrio agrupar variveis ou


dados do mesmo tipo.
Por exemplo, se quisermos fazer um programa para gerir uma turma,
temos que criar variveis para armazenar cada nome dos alunos da turma,
depois outras variveis para cada nota de cada aluno.
Mas isso pode ser simplificado usando sequncias. Sequncias tambm
facilitam muito no acesso dados.
Vimos nas aulas anteriores que String uma sequncia de caracteres,
agora vamos ver outros tipos de sequncias em Python.

Lista
Uma das mais importantes sequncias em Python a lista.

Sintaxe:

lista = [dado1,dado2,dado3,....]
Exemplo:

lista = [Silvio,1,Aprendiz]

Lista
Vamos praticar!

Lista
Vamos praticar!
Tal como no caso de Strings, em Python tambm usamos o operador + para
indicar concatenao:

A funo len que vimos em Strings tambm vlida para listas e devolve o seu
tamanho:

Lista

Facilitando a vida!

Mtodos

Ao

list.append(x)

Adiciona um item na lista.

list.extend(L)

Adiciona todos os itens da outra lista.

list.insert(i, x)

Insere um item x na posio i.

list.remove(x)

Remove o primeiro elemento com valor igual x. e retorna um erro se no encontrar.

list.pop([i])

Remove o item do index i e retorna o mesmo. Se o index no for especificado,


list.pop() remove e retorna o ultimo elemento da lista.

list.clear()

Remove todos os elementos da lista, equivalente ao del a[:].

list.index(x)

Retorna o index onde est armazenado o valor x. Retorna um erro se no encontrar.

list.count(x)

Retorna o nmero de ocorrncias do valor x na lista.

list.sort()

Ordena a lista.

list.reverse()

Inverte o posicionamento dos valores na lista.

list.copy()

Copia a lista. Equivalente a list[:].

Lista
Entendendo cpias!

Lista
Entendendo cpias!

Lista
Entendendo cpias!

Tuplas
Vamos ver agora um novo tipo de sequncia, um outro tipo de
sequncia padro na linguagem:
a tupla (tuple).
Uma tupla consiste em uma sequncia de valores separados por
vrgulas, podendo ser vista como lista em Python, com a diferena de
ser imutvel (assim como strings).

Sintaxe:

tupla = ()

Tuplas
Uma das grandes utilidades das Tuplas para a representao de valores
constante, alem disso elas podem ser usadas de diversas formas: pares
ordenados (x, y), registros de funcionrio extrados uma base de dados, etc.
Um ponto interessante a criao de tuplas contendo 0 ou 1 itens: a sintaxe
usa certos truques para acomodar estes casos. No caso das Tuplas vazias, um
par de parnteses vazios o necessrio para constru-la; uma tupla unitria
construda por um nico valor e uma vrgula entre parnteses (no basta
colocar um nico valor entre parnteses). Um pouco estranho, mas assim
que funciona:

Tuplas
Uma das grandes utilidades das Tuplas para a representao de valores
constante, alem disso elas podem ser usadas de diversas formas: pares
ordenados (x, y), registros de funcionrio extrados uma base de dados, etc.
Um ponto interessante a criao de tuplas contendo 0 ou 1 itens: a sintaxe
usa certos truques para acomodar estes casos. No caso das Tuplas vazias, um
par de parnteses vazios o necessrio para constru-la; uma tupla unitria
construda por um nico valor e uma vrgula entre parnteses (no basta
colocar um nico valor entre parnteses). Um pouco estranho, mas assim
que funciona:

Tuplas
As tuplas tambm suportam acesso aos valores atravs dos ndices e maior
parte das operaes das listas, como fatiamento. Podemos utiliz-las
tambm com o for:

Tuplas
As tuplas tambm suportam acesso aos valores atravs dos ndices e maior
parte das operaes das listas, como fatiamento. Podemos utiliz-las
tambm com o for:

Tuplas
Python tambm permite operaes chamadas de empacotamento e
desempacotamento. O empacotamento acontece como no exemplo: t =
12345, 54321, 'python!'.
Os valores 12345, 54321, 'python!' so empacotados na tupla t.
J o desempacotamento acontece como neste caso:
a, b = 10, 20.
Para funcionar, necessrio que a lista de variveis do lado esquerdo tenha
o mesmo comprimento da sequncia direita.
Sendo assim, a atribuio mltipla um caso de empacotamento de tupla e
desempacotamento de sequncia. Ainda possvel fazer trocas rapidamento
dos valores das variveis:

Tuplas
Python tambm permite operaes chamadas de empacotamento e
desempacotamento. O empacotamento acontece como no exemplo: t =
12345, 54321, 'python!'.
Os valores 12345, 54321, 'python!' so empacotados na tupla t.
J o desempacotamento acontece como neste caso:
a, b = 10, 20.
Para funcionar, necessrio que a lista de variveis do lado esquerdo tenha
o mesmo comprimento da sequncia direita.
Sendo assim, a atribuio mltipla um caso de empacotamento de tupla e
desempacotamento de sequncia. Ainda possvel fazer trocas rapidamento
dos valores das variveis:

Tuplas
Tambm podemos criar tuplas a apartir de listas, usando a funo

tuple()

Tuplas
Tambm podemos criar tuplas a apartir de listas, usando a funo

tuple()

Tuplas
Tambm podemos criar tuplas a apartir de listas, usando a funo

tuple()

Mesmo que no possamos fazer alteraes na tupla depois de cri-la, podemos


concaten-las... mas saiba que isso gera novas tuplas:

Tuplas
Tambm podemos criar tuplas a apartir de listas, usando a funo

tuple()

Mesmo que no possamos fazer alteraes na tupla depois de cri-la, podemos


concaten-las... mas saiba que isso gera novas tuplas:

Tuplas
IMPORTANTE: Tuplas podem conter objetos que podem ser alterados, mas
as alteraes nesses objetos no so consideradas mudanas na tupla em si,
como no exemplo:

Tuplas
IMPORTANTE: Tuplas podem conter objetos que podem ser alterados, mas
as alteraes nesses objetos no so consideradas mudanas na tupla em si,
como no exemplo:

Vamos Praticar!
4 - Faa um programa que leia 5 nmeros e informe o maior nmero.

5 - Desenvolva um gerador de tabuada, capaz de gerar a tabuada de


qualquer nmero inteiro entre 1 a 10. O usurio deve informar de qual
numero ele deseja ver a tabuada. A sada deve ser conforme o exemplo
abaixo:
Tabuada de 5:
5X1=5
5 X 2 = 10
...
5 X 10 = 50

Vamos Praticar!
6 - Monte um programa onde o usurio entra com 1 nmero decimal e o
programa imprime a converso em Binrio, Hexadecimal, Octal e Caractere
da tabela ASCII .
Entrada:
65
Sada:
Bin: 1000001, Hex: 41, Oct: 101, Caractere: A

Dicionrios
Outra sequncia de dados muito til embutida em Python o dicionrio, cujo tipo
:

dict
uma estrutura parecida com a lista, mas possui propriedades de acesso
diferentes. Dicionrios so delimitados por chaves: {}

Sintaxe:

dicionario = { }

Dicionrios
O dicionrio contm uma lista de pares chave:valor separada por vrgulas. Eles so
tambm chamados de memria associativa ou vetor associativo em outras
linguagens.

Dicionrios
O dicionrio contm uma lista de pares chave:valor separada por vrgulas. Eles so
tambm chamados de memria associativa ou vetor associativo em outras
linguagens.

Exemplo de declarao:

Dicionrios
O dicionrio contm uma lista de pares chave:valor separada por vrgulas. Eles so
tambm chamados de memria associativa ou vetor associativo em outras
linguagens.

Exemplo de declarao:

Se tentar recuperar um valor usando uma chave inexistente, ser gerado um erro do
tipo KeyError. Como no exemplo:

Dicionrios
O dicionrio contm uma lista de pares chave:valor separada por vrgulas. Eles so
tambm chamados de memria associativa ou vetor associativo em outras
linguagens.

Exemplo de declarao:

Se tentar recuperar um valor usando uma chave inexistente, ser gerado um erro do
tipo KeyError. Como no exemplo:

Dicionrios

Facilitando a vida!

Mtodos

Ao

dict.keys()

Retorna uma lista com as chaves de um dicionrio

dict.values()

Retorna a lista de valores de um dicionrio

dict.items()

Retorna os dois, na forma de uma lista de tuplas - cada tupla com um par chavevalor

dict.copy(dicts)

Copia para um novo dicionrio as chaves e valores.

key in dict

Retorna True se a chave existir ou False se no existir.

dict.clear()

Limpa o dicionrio deixando ele vazio.

del dict[chave]

Deleta o par de chave e valor.

Vamos Praticar!
7 - Crie um dicionrio e armazene nele os seus dados: nome, idade, telefone,
endereo. Imprima todos os dados usando o padro chave: valor.
8 Faa um programa em Python que conta a ocorrncia da palavra "tigre" na
frase "um tigre, dois tigres, trs tigres".

Set
Python tambm inclui um tipo de dados para conjuntos, chamado set. Um
conjunto uma coleo desordenada de elementos, mas no possui
elementos repetidos.
A vantagem desse tipo de dado quando precisamos garantir que dados no
se repitam, funcionando como um verificao eficiente da existncia de
objetos e a eliminao de itens duplicados.
Conjuntos tambm suportam operaes matemticas como:
unio, interseo, diferena e diferena simtrica.

Set exemplos

Funes
As funes so teis para empacotar uma tarefa especfica em um trecho de
cdigo. A vantagem disso a reutilizao do cdigo, a soluo criada naquela
funo poder ser usada sempre que necessria sem precisar que reescreve-la
sempre.

Funes
As funes so teis para empacotar uma tarefa especfica em um trecho de
cdigo. A vantagem disso a reutilizao do cdigo, a soluo criada naquela
funo poder ser usada sempre que necessria sem precisar que reescreve-la
sempre.
Sintaxe

Funes
As funes so teis para empacotar uma tarefa especfica em um trecho de
cdigo. A vantagem disso a reutilizao do cdigo, a soluo criada naquela
funo poder ser usada sempre que necessria sem precisar que reescreve-la
sempre.
Sintaxe

Exemplo

Sada

Vamos Praticar!
9 - Faa um programa, com uma funo que necessite de trs argumentos, e que
fornea a soma desses trs argumentos.
10 - Faa um programa, com uma funo que necessite de um argumento. A funo
retorna o valor de caractere P, se seu argumento for positivo, e N, se seu argumento
for zero ou negativo.
11 - Crie uma funo numero par que permita vericar um dado nmero x passado
como parmetro nmero par.

Referncia
Documentao Python
www.python.org
Livro Python Escreva seus primeiros programas
Felipe Cruz

print(Obrigado e bons estudos!)


Link para os arquivos do projeto no GitHub
https://github.com/silviolleite/minicursopython2016