Você está na página 1de 51

Python

e suas baterias includas


Universidade Estadual Paraba
II Encontro de Licenciatura em Computao | II ELIC

Apresentao
Luiz Augusto de Macdo Morais
luizaugustomm@gmail.com
Requisitos


Eu vou assumir que...

Todos j pagaram pelo menos P1;

Gostam de programar;

Sabem conceitos bsicos de estruturas de dados;

Sabem o que uma funo;

Eu no vou assumir que vocs saibam Python!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[2/51]
Pblico-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 no deve participar...

Quem gostar de gets, sets, interfaces e public static void
main()'s da vida!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[3/51]
Quem sou eu?


Estudante do 7 perodo de Licenciatura em Computao
da UEPB;

Conhece Python h trs anos;

Adora Inteligncia Artificial;

Gosta de programar bebendo com os amigos;

Odeia Java!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[4/51]
Roteiro

1 2
Conhecendo o Python A linguagem
O que Python? Regras bsicas de sintaxe
Histria 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
Instalao e verses Strings e listas
Comparando os cdigos Funes
Ol mundo diferente
Como executar?

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[5/51]
Conhecendo
o Python
O que Python?


Interpretada;

Interativa;

Multi paradigma;

Tipagem dinmica;

Fortemente tipada;

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[7/51]
Histria


Criada em 1989 por Guido van Rossum;

Influenciada pela linguagem ABC;

Inspirada no programa britnico Monty Python's Flying
Circus;

Nasceu para ser fcil (Projeto Amoeba);

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[8/51]
Pra que serve o Python?

Aplicativos para desktop

Python e suas baterias includas [9/51]


II ELIC | Encontro de Licenciatura em Computao
Pra que serve o Python?

Aplicativos para web

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[10/51]
Pra que serve o Python?

Jogos

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[11/51]
Pra que serve o Python?

Aplicativos mveis

Python e suas baterias includas [12/51]


II ELIC | Encontro de Licenciatura em Computao
Pra que serve o Python?

Robs

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[13/51]
Pra que serve o Python?

Computao cientfica

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[14/51]
Pra que serve o Python?

Educao

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[15/51]
Quem usa Python no Brasil

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[16/51]
Quem usa Python no Mundo

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[17/51]
Instalando Python no Linux


A maioria das distribuies vem com ele instalado

No Ubuntu: sudo apt-get install python

Se no conseguir, v no site oficial:
http://www.python.org/download/

Python e suas baterias includas [18/51]


II ELIC | Encontro de Licenciatura em Computao
Instalando Python no Windows


O python no vem instalado por padro

Acesse site oficial: http://www.python.org/download/

Baixe a verso 2.x mais recente para ter uma maior
compatibilidade;

Ou baixe a verso 3.x se quiser as funcionalidades mais
recentes;

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[19/51]
Comparando os cdigos...

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 includas


II ELIC | Encontro de Licenciatura em Computao
[20/51]
Comparando os cdigos...

print('Ol, mundo!')

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[21/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[22/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[23/51]
Como executar (script/cdigo-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 includas


II ELIC | Encontro de Licenciatura em Computao
[24/51]
Como executar (script/cdigo-fonte)

$ python3 relogio.py
relogio.py

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[25/51]
A linguagem
Regras bsicas de sintaxe

Sem ponto e vrgula no final dos comandos!

;
Python e suas baterias includas
II ELIC | Encontro de Licenciatura em Computao
[27/51]
Regras bsicas de sintaxe

Sem delimitadores de cdigo!

begin
{ }
end

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[28/51]
Regras bsicas de sintaxe

A endentao/indentao obrigatria!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[29/51]
Usando o Interpretador Interativo [1/7]

Fazendo clculos

>>> 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 includas


II ELIC | Encontro de Licenciatura em Computao
[30/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[31/51]
Usando o Interpretador Interativo [3/7]

Manipulando variveis

>>> 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 includas


II ELIC | Encontro de Licenciatura em Computao
[32/51]
Usando o Interpretador Interativo [4/7]

Manipulando variveis

>>> 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 includas


II ELIC | Encontro de Licenciatura em Computao
[33/51]
Usando o Interpretador Interativo [5/7]

Comando de sada

>>> frase = 'Ol mundo!'


>>> print(frase)
Ol mundo!
>>> print(1 3)
-2
>>> print('elic')
elic
>>> print()

>>>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[34/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[35/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[36/51]
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 cdigos na minha pgina de apresentaes.


If's, elif's e else's da vida [1/4]

Sintaxe

if <condio>:
<bloco do if>

<condio> = expresso lgica

Use endentao!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[38/51]
If's, elif's e else's da vida [2/4]

Sintaxe

if <condio>:
<bloco do if>
else:
<bloco do else>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[39/51]
If's, elif's e else's da vida [3/4]

Sintaxe

if <condio>:
<bloco do if>
elif <condio>:
<bloco do elif>
else:
<bloco do else>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[40/51]
If's, elif's e else's da vida [4/4]

>>> idade = input('Idade: ')


Idade: 18
>>> tem_carteira = False
>>> if idade < 18:
... print('Ainda no pode dirigir')
... elif idade < 90:
... if tem_carteira:
... print('Ok, pode dirigir')
... else:
... print('ps, sem carteira no pode!')
... else:
... print('Est muito velho pra dirigir')
...
ps, sem carteira no pode!

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[41/51]
For e while para repetir [1/3]

Sintaxe

for <elemento> in <itervel>:


<bloco do for>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[42/51]
For e while para repetir [2/3]

Sintaxe

while <condio>:
<bloco do while>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[43/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[44/51]
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 includas


II ELIC | Encontro de Licenciatura em Computao
[45/51]
Strings e listas [2/4]

>>> for letra in nome[0:4]:


... print(letra)
...
L
u
i
z

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[46/51]
Strings e listas [3/4]

>>> frutas = ['Pera', 'Uva', 'Ma']


>>> nova_fruta = 'Laranja'
>>> frutas.append(nova_fruta)
>>> frutas.insert(1, 'Mamo')
>>> frutas.remove('Pera')
>>> frutas.pop()
'laranja'
>>> print(frutas)
['Mamo', 'Uva', 'Ma']

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[47/51]
Strings e listas [4/4]

>>> for fruta in frutas:


... print(fruta)
...
Mamo
Uva
Ma

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[48/51]
Funes

Sintaxe

def <nome-da-funo>(<parametros>):
<bloco da funo>

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[49/51]
Funes

>>> def fatorial(numero):


... fat = 1
... while numero > 0:
... fat *= numero
... numero -= 1
... return fat
...
>>> fatorial(3)
6
>>> fatorial(4)
24

Python e suas baterias includas


II ELIC | Encontro de Licenciatura em Computao
[50/51]
Obrigado!

Você também pode gostar