UAPI – Curso de Extensão 
IInnttrroodduuççããoo aaoo PPyytthhoonn 
PPrrooff.. MMsscc.. RRaayynneerr GGoommeess SSoouussaa –...
Objetivo do Curso 
Mostrar através de um acervo rico de exemplos as principais características 
da linguagem Python explor...
História 
● Iniciou em 1989 
● Holandês Guido van Rossun 
● Homenagem ao programa humorístico Monty Python (adorado pelos ...
Diversos usos do Python 
“Scikit-learn, é um dos mais populares projetos para algoritmos de aprendizagem 
de máquina em py...
Diversos usos do Python 
“Django é um framework para desenvolvimento rápido para web, escrito em Python, 
que utiliza o pa...
Diversos usos do Python 
“Twisted is an event-driven networking engine written in Python and licensed 
under the open sour...
Diversos usos do Python
Interface Gráfica - Tkinter 
https://wiki.python.org/moin/TkInter
PIthon (Grupo no Facebook) 
hhttttppss::////wwwwww..ffaacceebbooookk..ccoomm//ggrroouuppss//ppiiaauuii..ppyytthhoonn//
Instalação 
● LINUX: 
● Heheheh.... na maioria das distibuições o python já vem instalado. 
● Windows 
● Fazer o download ...
Interpretador OnLine
Primeiras Observações 
● É uma linguagem INTERPRETADA 
● O aninhamento é fundamenta! 
● Um comando por LINHA.
Executando no LINUX
IDEs 
● Eclipse, ou … 
● Qualquer editor de texto, 
● Ex: 
● Notepad 
● Gedit 
● Vim 
idle-python
Observações 
● Não misture espaços com TABs; 
● Comentários: # 
Docstrings: 
Docstrings são strings normais ou multilinhas...
Exemplo de Comentário e 
Docstrings
Operadores 
Bit a bit 
& AND 
| OR 
^ XOR 
~ Inversor 
>> Deslocamento Dir 
<< Deslocamento Esq 
Aritméticos 
+ Adição 
- ...
Exemplo de uso de Operadores 
Exemplo: exe02.py
Exemplo de uso de Operadores 
Exemplo: exe03.py 
Atenção: 
● not in 
● is not
Operadores de atribuição 
acumulativa 
Operador acumulativo Substitui 
I + = V I = I + V 
I -= V I = I - V 
I *= V I = I *...
Dica de Ouro 
Após cada desafio tem o código com a implementação da resposta, MAS é 
importante tentar fazer antes de olha...
Resposta do Desafio 01 
Dica: Isto pode ser útil em criptografias simétricas!
Comandos básicos 
Comando IF 
if expressão1: 
Comandos1 
[elif expressão N*: 
ComandosN*:] 
[else: 
comandos2] 
Expressão ...
Exemplo do uso do IF 
Exemplo: ex04.py
Desafio 02 
Desafio 02: Dado três lados de um triângulo verifique se é possível formar um triângulo? 
E diz se é equilater...
Resolução Desafio 02
Comandos de Repetição 
Comando while 
while expessão1: 
Comandos1 
[else: 
comandos2]
Desafio 03 
Faça um programa que escreva de 0 até 40. Para os múltiplos de 4 ou 10 
escreva PIN na tela, quando for o últi...
Resposta do Desafio 03
Comando de Repetição 
Comando FOR 
for elemento1, [elemntosN]* IN iterável: 
Comandos1 
else: 
Comandos2 
Listas são iterá...
Uso da função range() 
>>> help(range) 
Help on class range in module builtins: 
class range(object) 
| range(stop) -> ran...
Curiosidade 
Diferença do range() e xrange() 
Basicamente, range(n) cria uma lista contendo todos os inteiros 
de 0..n-1 o...
Desafio 04 
Faça a tabela de multiplicação dos números 1 até 9. 
Não precisa desenhar as brodas! 
Cada Tabuada sequencial!
Resposta do Desafio 04
Quebra de Repetição 
WHILE e o FOR aceitam os comandos BREAK e CONTINUE: 
1. break: força a quebra de execução do bloco de...
Comandos diversos 
É muito comum o uso do comando try para tratar de exceções nos códigos. 
Desafio: Faça um programa para...
Uso do try 
Exemplo: exe10.py
Depurar um programa 
Depuração é importante para que se possa acompanhar passo a passo a 
execução de um programa. 
python...
Python Debug = pdb
Pdb – Principais Comandos 
● list: Mostra o código e o ponto de execução; 
● next: Executa a linha corrente 
● step: pula ...
Exemplo do pdb 
Abra o último exemplo e use os comandos básicos para aprender o seu funcionamento 
rayner@silver:~/curso_p...
Funções/Métodos 
def nome_da_função([parametro1],[parametros*]): 
comandos1 
comandos2 
return <valor> 
rayner@silver:~/cu...
Comandos Diversos: assert 
O comando assert permite fazer testes em tempo de execução, quando não 
satisfeito a condição e...
Números 
Existem e tipos: inteiros, longos e ponto flutuante. 
● Inteiros: 
● SO 32 bits = -2¹⁶ .. +2¹⁶ 
● SO 64 bits = -2...
Print, ponto flutuante e Marcadores
Marcadores 
Marcadoes: %d, %s, ou %f
Exercício: Fazer o Fatorial
Resposta do Fatorial
Desafio: Faça o Fibonacci 
Em matemática, a Sucessão de Fibonacci (também Sequência de Fibonacci), é 
uma sequência de núm...
Desafio: Fibonacci
Leitura de parâmetros 
python exe16.py rayner
Sequência: strings, listas e tuplas 
Slicing em sequencias
Interação em Sequencias
Jogo de Advinha
Strings
Formatação de String
Exibindo Octal ou Hexadecimal
Métodos de string 
Para cada uma delas faça um exemplo: 
● split() # transforma um string em lista 
● sort() # ordena 
● c...
Métodos de string 
Para cada uma delas faça um exemplo: 
● startwith(substring) # retorna verdadeiro se começa com a subst...
Exemplo 22 - Strings
Variáveis Locais e Global 
● Variável do bloco anterior pode ser acessada dentro de um bloco identado a direta 
● Variável...
Exemplo 26
Principais Sequências 
Listas [] → conjunto de elementos separados por vírgula 
Tuplas () → parecido com Listas mas depois...
Listas 
Listas são representadas por colchetes [] 
Pode ter seus valores alterados e o tamanho também
Listas: principais métodos 
.append(elemento): adiciona no fim da lista 
.count(): conta quantas ocorrência de elemento de...
Listas: principais métodos 
Dica: para saber todos os métodos de um objeto use: 
>>> help(list)
Desafio 06 
Faça um programa inserir elementos numa lista, respeitando as regras: 
1. se for par adicione no início; 
2. s...
Resposta do Desafio 06
Map e Filter 
Map é unário 
Filter é unário
Desafio 6a 
Refazer o Desafio 6 usando Filter e/ou Map!!!!
Resposta Desafio 6a
Desafio 07 
Faça um programa para sorteio de números inteiros: 
1. o usuário informa os limites, tamanho máximo do número ...
Resposta do Desafio 7
Desafio 08 
Faça um programa mostre se um número é primo ou não!!!!
Resposta Desafio 08
Função Reduce 
Python 3.3 precisa importar a functools 
Reduce é uma função Binária!!!
Desafio 08 
Faça um programa pra somar os números pares de uma lista usando 
apenas filter e reduce. 
Ex: 
Lista = [1,2,3,...
Solução Desafio 08
Lambda: função anonima
Listas compreensivas 
Listas compreensivas é uma poderosa forma de trabalhar com listas; 
Devolve uma lista 
O que se faz ...
Map, Filter e Listas Compreensivas
Desafio 09 
Usando apenas Listas Compreensivas faça um código para descobrir se um 
número é Primo.
Resposta do Desafio 09
Função como Parâmetro 
Uma outra grande função da lambda é usar uma variável com função, e com isto 
passá-la com parâmetr...
Função como Parâmetro
Tuplas 
Tuplas são sequencias que não podem ser alteradas depois de criadas. 
Tuplas disponibilizam apenas os métodos coun...
Dicionário 
Dicionários servem para armazenar objetos da mesma forma que em um 
sequencia. A diferença é a forma na qual o...
Exemplo de dicionário 
Principais métodos: 
.clear() = remove todos elementos 
. copy() = faz uma copia / cuidado dic1 = d...
Exemplo de dicionário
Desafio 10 
Segundo o dicionário abaixo, faça um lista compreensiva para retornar todas 
as pessoas com a idade maior que ...
Resposta do Desafio 09
Conjuntos 
Oferecem a funcionalidade de um conjunto em Python, sem ordenação e sem 
elementos repetitivos. 
Conjunto funci...
Conjuntos 
Pode se criar uma conjunto a partir de uma lista 
Conjunto = set([1,2,3,4]) 
Conjuntos compreensíveis 
Conjunto...
Set: Métodos 
Métodos: 
.isdisjoint(outro): retorna verdadeiro se a interseção de outro for o conjunto vazio 
.issubset(ou...
Bibliografia 
http://freepythontips.wordpress.com/2014/02/04/free-python-books/
Mais Desafios em: 
http://www.python.org.br/wiki/ListaDeExercicios
Python e POO 
Programação Orientada a Objeto é um paradigma de desenvolvimento baseada 
nos seguintes conceitos: 
● Classe...
Exemplo
POO.Herança
Multi Herança
Fatorial POO
Atributo Privado __numero 
Use __ para ocultar. Mas não é privado.
Próximos SlideShares
Carregando em…5
×

Introdução ao python

302 visualizações

Publicada em

Introdução ao Python, slides de aula.

Publicada em: Ciências
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
302
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao python

  1. 1. UAPI – Curso de Extensão IInnttrroodduuççããoo aaoo PPyytthhoonn PPrrooff.. MMsscc.. RRaayynneerr GGoommeess SSoouussaa –– rraayynneerrggoommeess@@ggmmaaiill..ccoomm
  2. 2. Objetivo do Curso Mostrar através de um acervo rico de exemplos as principais características da linguagem Python explorando recursos básicos a serem utilizados em uma infinidade de resolução de problemas e desenvolvimento de softwares, além de permitir um avanço gradual em outras plataformas do Python, como p. ex: Django.
  3. 3. História ● Iniciou em 1989 ● Holandês Guido van Rossun ● Homenagem ao programa humorístico Monty Python (adorado pelos Nerds) ● Pronuncia: Páithon ● Principal site: http://www.python.org/
  4. 4. Diversos usos do Python “Scikit-learn, é um dos mais populares projetos para algoritmos de aprendizagem de máquina em python e é claro open-source! Um Sheet cheat para ajudar quem está querendo ter uma overview dos algoritmos disponíveis!” Fonte: scikit-learn.org
  5. 5. Diversos usos do Python “Django é um framework para desenvolvimento rápido para web, escrito em Python, que utiliza o padrão MTV/MVC (model - template - view). Foi criado originalmente como sistema para gerenciar um site jornalístico na cidade de Lawrence, no Kansas. Tornou-se um projeto de código aberto e foi publicado sob a licença BSD em 2005. O nome Django foi inspirado no músico de jazz Django Reinhardt.” Fonte: http://pt.wikipedia.org/wiki/Django_(framework_web)
  6. 6. Diversos usos do Python “Twisted is an event-driven networking engine written in Python and licensed under the open source”
  7. 7. Diversos usos do Python
  8. 8. Interface Gráfica - Tkinter https://wiki.python.org/moin/TkInter
  9. 9. PIthon (Grupo no Facebook) hhttttppss::////wwwwww..ffaacceebbooookk..ccoomm//ggrroouuppss//ppiiaauuii..ppyytthhoonn//
  10. 10. Instalação ● LINUX: ● Heheheh.... na maioria das distibuições o python já vem instalado. ● Windows ● Fazer o download do site e executar o instalador
  11. 11. Interpretador OnLine
  12. 12. Primeiras Observações ● É uma linguagem INTERPRETADA ● O aninhamento é fundamenta! ● Um comando por LINHA.
  13. 13. Executando no LINUX
  14. 14. IDEs ● Eclipse, ou … ● Qualquer editor de texto, ● Ex: ● Notepad ● Gedit ● Vim idle-python
  15. 15. Observações ● Não misture espaços com TABs; ● Comentários: # Docstrings: Docstrings são strings normais ou multilinhas (“”” “””) que têm a função de documentar módulos, classes, funções e métodos. Qualquer string localizada na primeira linha de código de um módulo ou na primeira linha após a definição de classes, funções e métodos.
  16. 16. Exemplo de Comentário e Docstrings
  17. 17. Operadores Bit a bit & AND | OR ^ XOR ~ Inversor >> Deslocamento Dir << Deslocamento Esq Aritméticos + Adição - Subtração * Multiplicação / Divisão // Divisão Inteira % Módulo (resto) ** Potência Lógico == Igualdade != Diferença < Menor > Maior <= Menor igual >= Maior igual in Está contido Not in Não está contido is é Is not Não é and E lógico or OU lógico not Inversor lógico
  18. 18. Exemplo de uso de Operadores Exemplo: exe02.py
  19. 19. Exemplo de uso de Operadores Exemplo: exe03.py Atenção: ● not in ● is not
  20. 20. Operadores de atribuição acumulativa Operador acumulativo Substitui I + = V I = I + V I -= V I = I - V I *= V I = I * V Mesma lógica para todos os outros operadores Desafio 01: Qual será saída de (5 AND 6) OR 7?
  21. 21. Dica de Ouro Após cada desafio tem o código com a implementação da resposta, MAS é importante tentar fazer antes de olhar a resposta. O aprendizado vem com a tentativa de acerto e NÃO com a memorização do código pronto.
  22. 22. Resposta do Desafio 01 Dica: Isto pode ser útil em criptografias simétricas!
  23. 23. Comandos básicos Comando IF if expressão1: Comandos1 [elif expressão N*: ComandosN*:] [else: comandos2] Expressão if (operador ternário) Valor1 if expressão else valor2 Ex: “verdadeiro” if 4 > 3 else “falso” Pode-se ter vários elif!
  24. 24. Exemplo do uso do IF Exemplo: ex04.py
  25. 25. Desafio 02 Desafio 02: Dado três lados de um triângulo verifique se é possível formar um triângulo? E diz se é equilatero, isóceles ou escaleno. A B C Lembre-se: Não é possível formar triângulo quando um lado é maior do que os outros dois!! Lembrete: ● Equilatero: todos lados iguais iguais; ● Isóceles: um lado diferente; ● Escaleno: todos lados diferentes.
  26. 26. Resolução Desafio 02
  27. 27. Comandos de Repetição Comando while while expessão1: Comandos1 [else: comandos2]
  28. 28. Desafio 03 Faça um programa que escreva de 0 até 40. Para os múltiplos de 4 ou 10 escreva PIN na tela, quando for o último número escreva “FIM”. Exemplo: PIN 123 PIN 567 PIN 9 PIN … 39 FIM Dica de Matemática: Zero é multiplo de todos os números pois qualquer número vezez 0 é 0.
  29. 29. Resposta do Desafio 03
  30. 30. Comando de Repetição Comando FOR for elemento1, [elemntosN]* IN iterável: Comandos1 else: Comandos2 Listas são iteráveis Adiante será estudado Listas
  31. 31. Uso da função range() >>> help(range) Help on class range in module builtins: class range(object) | range(stop) -> range object | range(start, stop[, step]) -> range object | | Returns a virtual sequence of numbers from start to stop by step. | | Methods defined here: | | __contains__(...) | x.__contains__(y) <==> y in x | | __eq__(...) | x.__eq__(y) <==> x==y
  32. 32. Curiosidade Diferença do range() e xrange() Basicamente, range(n) cria uma lista contendo todos os inteiros de 0..n-1 ocupando memória para todos os seus elementos ao mesmo tempo. Já o xrange(n) retorna um objeto do tipo "xrange" que funciona mantendo apenas um valor na memória de cada vez, sendo este valor obtido de acordo com o índice solicitado. Fonte: http://b.martinusso.com/2012/08/diferenca-entre-range-e-xrange-em-python.html
  33. 33. Desafio 04 Faça a tabela de multiplicação dos números 1 até 9. Não precisa desenhar as brodas! Cada Tabuada sequencial!
  34. 34. Resposta do Desafio 04
  35. 35. Quebra de Repetição WHILE e o FOR aceitam os comandos BREAK e CONTINUE: 1. break: força a quebra de execução do bloco de repetição; 2. continue: desvia para o início do bloco de repetição. Exemplo: Veja que os dois blocos de código produzem a mesma saída. Cuidado com o uso do Break e Continue, geralmente são utilizados para deixar o código mais resumido, porém não pode comprometer o entendimento da lógica do código.
  36. 36. Comandos diversos É muito comum o uso do comando try para tratar de exceções nos códigos. Desafio: Faça um programa para ler dois números e dividir o número 1 ao número 2. Analise o caso e veja aonde o try pode ser usado. Exemplo: Tem algum problema este código? Podemos dividir um número por qualquer um?
  37. 37. Uso do try Exemplo: exe10.py
  38. 38. Depurar um programa Depuração é importante para que se possa acompanhar passo a passo a execução de um programa. python -m pdb exe10.py > /home/rayner/curso_python_rayner/exemplos/exe10.py(4)<module>() -> a = input("Numero 1:") (Pdb)
  39. 39. Python Debug = pdb
  40. 40. Pdb – Principais Comandos ● list: Mostra o código e o ponto de execução; ● next: Executa a linha corrente ● step: pula a linha corrente ● help(comando): informações sobre um comando ● quit: sair ● type(variável): mostra o tipo da variável ● print variável: mostra o valor da variável
  41. 41. Exemplo do pdb Abra o último exemplo e use os comandos básicos para aprender o seu funcionamento rayner@silver:~/curso_python_rayner/exemplos$ python -m pdb exe10.py > /home/rayner/curso_python_rayner/exemplos/exe10.py(4)<module>() -> a = input("Numero 1:") (Pdb) next Numero 1:2 > /home/rayner/curso_python_rayner/exemplos/exe10.py(5)<module>() -> b = input("Numero 2:") (Pdb) print a 2 (Pdb) type a *** SyntaxError: invalid syntax (<stdin>, line 1) (Pdb) type(a) <type 'int'>
  42. 42. Funções/Métodos def nome_da_função([parametro1],[parametros*]): comandos1 comandos2 return <valor> rayner@silver:~/curso_python_rayner/exemplos$ cat exe11.py #!/usr/bin/env python # -*- coding:utf-8 -* def multiplica(a,b): return a * b exec("a = multiplica(3,4)") print(a
  43. 43. Comandos Diversos: assert O comando assert permite fazer testes em tempo de execução, quando não satisfeito a condição ele gera uma exceção AssertionError. Geralmente é utilizado com isinstace(valor,tipo)
  44. 44. Números Existem e tipos: inteiros, longos e ponto flutuante. ● Inteiros: ● SO 32 bits = -2¹⁶ .. +2¹⁶ ● SO 64 bits = -2³² .. +2³² ● Longos = tamanho limitado pela memória ● Flutuante = tamanho limitado pela memória Tipos lógicos True e False podem ser expressos por 1 e 0
  45. 45. Print, ponto flutuante e Marcadores
  46. 46. Marcadores Marcadoes: %d, %s, ou %f
  47. 47. Exercício: Fazer o Fatorial
  48. 48. Resposta do Fatorial
  49. 49. Desafio: Faça o Fibonacci Em matemática, a Sucessão de Fibonacci (também Sequência de Fibonacci), é uma sequência de números inteiros, começando normalmente por 0 e 1, na qual, cada termo subsequente (numero de Fibonacci) corresponde a soma dos dois anteriores. A sequência recebeu o nome do matemático italiano Leonardo de Pisa, mais conhecido por Fibonacci (contração do italiano filius Bonacci), que descreveu, no ano de 1202, o crescimento de uma população de coelhos, a partir desta.2 Tal sequência já era no entanto, conhecida na antiguidade. Os números de Fibonacci são, portanto, os números que compõem a seguinte sequência (sequência A000045 na OEIS): 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, … (podendo ser omitido o zero inicial). Fonte: Wikipedia
  50. 50. Desafio: Fibonacci
  51. 51. Leitura de parâmetros python exe16.py rayner
  52. 52. Sequência: strings, listas e tuplas Slicing em sequencias
  53. 53. Interação em Sequencias
  54. 54. Jogo de Advinha
  55. 55. Strings
  56. 56. Formatação de String
  57. 57. Exibindo Octal ou Hexadecimal
  58. 58. Métodos de string Para cada uma delas faça um exemplo: ● split() # transforma um string em lista ● sort() # ordena ● capitalize() # primeira letra maiúscula ● center() #centraliza ver ljust e rjust ● count(substring) # conta a quantidade substring ● endwith(substring) # retornar verdadeiro se o fim for a substring ● find(substring) # procura uma substring ● index() # diferente da Find gera uma exceção ValueError ● join(iterável) # iterável lower() # converte para minúsculo ● partition(substring) #divide a string na substring ● replace(procura, valor) # substitui a substring procura por valor
  59. 59. Métodos de string Para cada uma delas faça um exemplo: ● startwith(substring) # retorna verdadeiro se começa com a substring ● stript() # remove os espaços brancos antes e depois ● swapcase() # transforma letras minúscula em maiúscula e vice-versa ● title() # transforma a letra de cada palavra em maiúscula ● upper() # transforma tudo em maiúsculo
  60. 60. Exemplo 22 - Strings
  61. 61. Variáveis Locais e Global ● Variável do bloco anterior pode ser acessada dentro de um bloco identado a direta ● Variável com mesmo nome dentro de um bloco identado se torna local e não altera o valor da global. ● Para usar uma variável global dentro de um bloco (função ou método) usar o comando global.
  62. 62. Exemplo 26
  63. 63. Principais Sequências Listas [] → conjunto de elementos separados por vírgula Tuplas () → parecido com Listas mas depois de criado seus valores são imutáveis Dicionário {} → O que diferencia de uma sequencia (lista e tuplas) é que seus objetos são indexados.
  64. 64. Listas Listas são representadas por colchetes [] Pode ter seus valores alterados e o tamanho também
  65. 65. Listas: principais métodos .append(elemento): adiciona no fim da lista .count(): conta quantas ocorrência de elemento dentro da lista .sort(): ordena .pop(): remove o último elemento .insert(posição, elemento) .extend(): estende a lista ocm todos os elementos do objeto iterável .index(): retorna a posição do primeiro elemento na lista, procurando a partir do início .remove(): remove a primeira ocorrência de um elemento .reverse(): inverte a lista
  66. 66. Listas: principais métodos Dica: para saber todos os métodos de um objeto use: >>> help(list)
  67. 67. Desafio 06 Faça um programa inserir elementos numa lista, respeitando as regras: 1. se for par adicione no início; 2. se for ímpar adicione no fim; 3. se for 0 no meio; 4. se número negativo encere o programa 5. mostre a lista ordenada Exemplo: 246000579
  68. 68. Resposta do Desafio 06
  69. 69. Map e Filter Map é unário Filter é unário
  70. 70. Desafio 6a Refazer o Desafio 6 usando Filter e/ou Map!!!!
  71. 71. Resposta Desafio 6a
  72. 72. Desafio 07 Faça um programa para sorteio de números inteiros: 1. o usuário informa os limites, tamanho máximo do número sorteado 2. o usuários informa quantos números serão sorteados 3. o programa mostra os números sorteados 4. não pode mostrar números já sorteados Dica: import random # random.randint(valor_inicial, valor_final) x = random.randint(1,10)
  73. 73. Resposta do Desafio 7
  74. 74. Desafio 08 Faça um programa mostre se um número é primo ou não!!!!
  75. 75. Resposta Desafio 08
  76. 76. Função Reduce Python 3.3 precisa importar a functools Reduce é uma função Binária!!!
  77. 77. Desafio 08 Faça um programa pra somar os números pares de uma lista usando apenas filter e reduce. Ex: Lista = [1,2,3,4,5,6,7,8] 20
  78. 78. Solução Desafio 08
  79. 79. Lambda: função anonima
  80. 80. Listas compreensivas Listas compreensivas é uma poderosa forma de trabalhar com listas; Devolve uma lista O que se faz com listas compreensivas se pode fazer com map e filter juntos Possui a seguinte forma: [ expressão for x in [lista] if expressão]
  81. 81. Map, Filter e Listas Compreensivas
  82. 82. Desafio 09 Usando apenas Listas Compreensivas faça um código para descobrir se um número é Primo.
  83. 83. Resposta do Desafio 09
  84. 84. Função como Parâmetro Uma outra grande função da lambda é usar uma variável com função, e com isto passá-la com parâmetro.
  85. 85. Função como Parâmetro
  86. 86. Tuplas Tuplas são sequencias que não podem ser alteradas depois de criadas. Tuplas disponibilizam apenas os métodos count() e index()
  87. 87. Dicionário Dicionários servem para armazenar objetos da mesma forma que em um sequencia. A diferença é a forma na qual os objetos são indexados. O índice utilizado para indexar um elemento é chamado de chave. dict(x) → dicionário Dic = {chave1:valor, chave2:valor,... chaveN:valorN} Chave pode ser de qualquer tipo Valor pode ser apenas um ou mais valores. Dic = {chave1:(valor1, valor2, … valorN)}
  88. 88. Exemplo de dicionário Principais métodos: .clear() = remove todos elementos . copy() = faz uma copia / cuidado dic1 = dic2 não é copia . get(chave) = retorna o valor .has_key(chave) = retorna True se tem o valor .items() = retorna a lista de tuplas .keys() = retorna a lista de chaves .values() = retorna a lista de valores .pop(chave) = retorna o valor associado a chave e remove .popitem() = retorna a tupla e remove .setdefault(chave,valor) = similar ao get, mas se não contiver o elemento é inserido .update(dict) = adiciona novos elementos
  89. 89. Exemplo de dicionário
  90. 90. Desafio 10 Segundo o dicionário abaixo, faça um lista compreensiva para retornar todas as pessoas com a idade maior que 18. pessoas = {"rayner":(123.000.000.00,37), "juliana":(222.000.000.00,40), "arthur":(333.000.000.00,5),"ana paula":(666,15)} Nome:(CPF, Idade)
  91. 91. Resposta do Desafio 09
  92. 92. Conjuntos Oferecem a funcionalidade de um conjunto em Python, sem ordenação e sem elementos repetitivos. Conjunto funcionam de forma similar a uma sequencia, exceto o fato de não ser possível acessar seus elementos por meio de índices ou fazer operações de slicing.
  93. 93. Conjuntos Pode se criar uma conjunto a partir de uma lista Conjunto = set([1,2,3,4]) Conjuntos compreensíveis Conjunto = {x % 5 for x in range(50)}
  94. 94. Set: Métodos Métodos: .isdisjoint(outro): retorna verdadeiro se a interseção de outro for o conjunto vazio .issubset(outro): True se conjunto contem outro. .issuperset(outro): Ture se outro estiver contido .union(outro): retorna a união .intesection(outro): retorna a intersecção .difference(outro): retorna a diferença .symmetric_difference(outro): retorna elementos que não estão nos dois .add(elemento): adiciona ao conjunto .remove(elemento): remove o elemento . discard(remove): igual ao remove() mas não gera exceção . pop(elemento): retorna e remove um elemento.
  95. 95. Bibliografia http://freepythontips.wordpress.com/2014/02/04/free-python-books/
  96. 96. Mais Desafios em: http://www.python.org.br/wiki/ListaDeExercicios
  97. 97. Python e POO Programação Orientada a Objeto é um paradigma de desenvolvimento baseada nos seguintes conceitos: ● Classe ● Objeto ● Métodos ● Propriedade ● Herança ● Polimorfismo
  98. 98. Exemplo
  99. 99. POO.Herança
  100. 100. Multi Herança
  101. 101. Fatorial POO
  102. 102. Atributo Privado __numero Use __ para ocultar. Mas não é privado.

×