1. Python
e suas baterias incluídas
Universidade Estadual Paraíba
II Encontro de Licenciatura em Computação | II ELIC
Apresentação
Luiz Augusto de Macêdo Morais
luizaugustomm@gmail.com
2. Requisitos
●
Eu vou assumir que...
●
Todos já pagaram pelo menos P1;
●
Gostam de programar;
●
Sabem conceitos básicos de estruturas de dados;
●
Sabem o que é uma função;
●
Eu não vou assumir que vocês saibam Python!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[2/51]
3. Público-alvo
●
Devem participar deste minicurso...
●
Programadores que querem conhecer o potencial da
linguagem Python;
●
Gente que quer se divertir programando;
●
Pessoas que querem produzir alguma coisa de “futuro”
●
Quem não deve participar...
●
Quem gostar de gets, sets, interfaces e public static void
main()'s da vida!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[3/51]
4. Quem sou eu?
●
Estudante do 7º período de Licenciatura em Computação
da UEPB;
●
Conhece Python há três anos;
●
Adora Inteligência Artificial;
●
Gosta de programar bebendo com os amigos;
●
Odeia Java!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[4/51]
5. Roteiro
1 2
Conhecendo o Python A linguagem
O que é Python? Regras básicas de sintaxe
História da linguagem Usando o interpretador interativo
Pra que serve o Python? If's, elif's e else's da vida
Quem usa Python? For e while pra repetir
Instalação e versões Strings e listas
Comparando os códigos Funções
“Olá mundo” diferente
Como executar?
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[5/51]
7. O que é Python?
●
Interpretada;
●
Interativa;
●
Multi paradigma;
●
Tipagem dinâmica;
●
Fortemente tipada;
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[7/51]
8. História
●
Criada em 1989 por Guido van Rossum;
●
Influenciada pela linguagem ABC;
●
Inspirada no programa britânico Monty Python's Flying
Circus;
●
Nasceu para ser fácil (Projeto Amoeba);
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[8/51]
9. Pra que serve o Python?
Aplicativos para desktop
Python e suas baterias incluídas [9/51]
II ELIC | Encontro de Licenciatura em Computação
10. Pra que serve o Python?
Aplicativos para web
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[10/51]
11. Pra que serve o Python?
Jogos
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[11/51]
12. Pra que serve o Python?
Aplicativos móveis
Python e suas baterias incluídas [12/51]
II ELIC | Encontro de Licenciatura em Computação
13. Pra que serve o Python?
Robôs
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[13/51]
14. Pra que serve o Python?
Computação científica
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[14/51]
15. Pra que serve o Python?
Educação
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[15/51]
16. Quem usa Python no Brasil
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[16/51]
17. Quem usa Python no Mundo
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[17/51]
18. Instalando Python no Linux
●
A maioria das distribuições vem com ele instalado
●
No Ubuntu: sudo apt-get install python
●
Se não conseguir, vá no site oficial:
http://www.python.org/download/
Python e suas baterias incluídas [18/51]
II ELIC | Encontro de Licenciatura em Computação
19. Instalando Python no Windows
●
O python não vem instalado por padrão
●
Acesse site oficial: http://www.python.org/download/
●
Baixe a versão 2.x mais recente para ter uma maior
compatibilidade;
●
Ou baixe a versão 3.x se quiser as funcionalidades mais
recentes;
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[19/51]
20. Comparando os códigos...
public class Main { int main() {
public static void main(String printf(“Olá,
args[]) { mundo!n”);
System.out.print(“Olá, }
mundo!”);
} IDENTIFICATION DIVISION.
} PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
program main;
begin DATA DIVISION.
write('Olá, mundo!');
end. PROCEDURE DIVISION.
DISPLAY "Olá, Mundo!".
STOP RUN.
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[20/51]
21. Comparando os códigos...
print('Olá, mundo!')
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[21/51]
22. Olá mundo diferente...
from datetime import datetime
from time import sleep
while True:
hora = datetime.now()
print hora.strftime('%H:%M:%S')
sleep(1)
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[22/51]
23. Como executar (modo interativo)
$ python3
>>> from datetime import datetime
>>> from time import sleep
>>> while True:
... hora = datetime.now()
... print hora.strftime('%H:%M:%S')
... sleep(1)
...
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[23/51]
24. Como executar (script/código-fonte)
from datetime import datetime
from time import sleep
while True:
hora = datetime.now()
print(hora.strftime('%H:%M:%S'))
sleep(1)
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[24/51]
25. Como executar (script/código-fonte)
$ python3 relogio.py
relogio.py
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[25/51]
27. Regras básicas de sintaxe
Sem ponto e vírgula no final dos comandos!
;
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[27/51]
28. Regras básicas de sintaxe
Sem delimitadores de código!
begin
{ }
end
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[28/51]
29. Regras básicas de sintaxe
A endentação/indentação é obrigatória!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[29/51]
30. Usando o Interpretador Interativo [1/7]
Fazendo cálculos
>>> 34 + 2
36
>>> 4 – 5.5
-1.5
>>> 3 * 11
33
>>> 5 / 2
2.5
>>> 5 // 2
2
>>> 4 % 2
0
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[30/51]
31. Usando o Interpretador Interativo [2/7]
Tipos de dados
>>> type(36)
<class 'int'>
>>> type(55.2)
<class 'float'>
>>> type(2 == 3)
<class 'bool'>
>>> type('a')
<class 'str'>
>>> type('ELIC')
<class 'str'>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[31/51]
32. Usando o Interpretador Interativo [3/7]
Manipulando variáveis
>>> numero = 2
>>> soma = numero + 3
>>> soma /= 2
>>> soma
2.5
>>> palavra = 'elic'
>>> palavra
'elic'
>>> numero / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[32/51]
33. Usando o Interpretador Interativo [4/7]
Manipulando variáveis
>>> nome
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'nome' is not defined
>>> nome = 'Luiz Augusto'
>>> nome
'Luiz Augusto'
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[33/51]
34. Usando o Interpretador Interativo [5/7]
Comando de saída
>>> frase = 'Olá mundo!'
>>> print(frase)
Olá mundo!
>>> print(1 – 3)
-2
>>> print('elic')
elic
>>> print()
>>>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[34/51]
35. Usando o Interpretador Interativo [6/7]
Comando de entrada
>>> nome = input('Insira seu nome: ')
Insira seu nome: Luiz Augusto
>>> print('Meu nome é %s' % nome)
Meu nome é Luiz Augusto
>>> idade = input('Idade: ')
Idade: 18
>>> idade + 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[35/51]
36. Usando o Interpretador Interativo [7/7]
Convertendo tipos
>>> idade = input('Idade: ')
Idade: 18
>>> idade
'18'
>>> type(idade)
<class 'str'>
>>> idade = int(idade)
>>> type(idade)
<class 'int'>
>>> idade + 2
20
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[36/51]
37. Desafio
Mensagens
secretas
Você terá que criar um programa em Python que criptografe sua
mensagem e depois envie a mensagem criptografada para seu amigo
por e-mail.
Ao receber a mensagem, seu amigo terá que descriptografá-la e lê-la.
Acesse os códigos na minha página de apresentações.
38. If's, elif's e else's da vida [1/4]
Sintaxe
if <condição>:
→<bloco do if>
<condição> = expressão lógica
Use endentação!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[38/51]
39. If's, elif's e else's da vida [2/4]
Sintaxe
if <condição>:
→<bloco do if>
else:
→<bloco do else>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[39/51]
40. If's, elif's e else's da vida [3/4]
Sintaxe
if <condição>:
→<bloco do if>
elif <condição>:
→<bloco do elif>
else:
→<bloco do else>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[40/51]
41. If's, elif's e else's da vida [4/4]
>>> idade = input('Idade: ')
Idade: 18
>>> tem_carteira = False
>>> if idade < 18:
... print('Ainda não pode dirigir')
... elif idade < 90:
... if tem_carteira:
... print('Ok, pode dirigir')
... else:
... print('Ôps, sem carteira não pode!')
... else:
... print('Está muito velho pra dirigir')
...
Ôps, sem carteira não pode!
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[41/51]
42. For e while para repetir [1/3]
Sintaxe
for <elemento> in <iterável>:
→<bloco do for>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[42/51]
43. For e while para repetir [2/3]
Sintaxe
while <condição>:
→<bloco do while>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[43/51]
44. For e while para repetir [3/3]
>>> for i in range(3, 0, -1):
... print(i)
...
3
2
1
>>> c = 3
>>> while c:
... print(c)
... c -= 1
...
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[44/51]
45. Strings e listas [1/4]
>>> nome = 'Luiz Augusto'
>>> nome[0]
'L'
>>> nome[-1]
'o'
>>> nome[0:4]
'Luiz'
>>> novo_nome = nome.replace('Augusto', 'Gustavo')
>>> print(novo_nome, nome)
Luiz Gustavo Luiz Augusto
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[45/51]
46. Strings e listas [2/4]
>>> for letra in nome[0:4]:
... print(letra)
...
L
u
i
z
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[46/51]
47. Strings e listas [3/4]
>>> frutas = ['Pera', 'Uva', 'Maçã']
>>> nova_fruta = 'Laranja'
>>> frutas.append(nova_fruta)
>>> frutas.insert(1, 'Mamão')
>>> frutas.remove('Pera')
>>> frutas.pop()
'laranja'
>>> print(frutas)
['Mamão', 'Uva', 'Maçã']
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[47/51]
48. Strings e listas [4/4]
>>> for fruta in frutas:
... print(fruta)
...
Mamão
Uva
Maçã
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[48/51]
49. Funções
Sintaxe
def <nome-da-função>(<parametros>):
→<bloco da função>
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[49/51]
50. Funções
>>> def fatorial(numero):
... fat = 1
... while numero > 0:
... fat *= numero
... numero -= 1
... return fat
...
>>> fatorial(3)
6
>>> fatorial(4)
24
Python e suas baterias incluídas
II ELIC | Encontro de Licenciatura em Computação
[50/51]