Python
Oi, você teria 4 horas para falar sobre Python?
Quem vos fala?
• Joffily Ferreira
• Tenho o foco no desenvolvimento
Front-end
• Apaixonado por Python
• Estudante de TSI no IFPB desde
2014.2
• Trabalho como estagiário na
PRPIPG - IFPB
• Freelancer nas horas vagas
• Lerdo das ideias (tenham
paciência)
Sobre o que nós vamos
conversar?
• Por que python?
• Tipos de dados
• Variáveis
• Estruturas para controle de fluxo
• Repetições
• Funções
Por que Python?
• Permite focar no problema, sem perder tempo com a
sintaxe
• Pode ser usada em: Games, Web, Ciência, Cinema, Saúde.
• Alta produtividade
• Legibilidade de código (PEP8)
• Baterias inclusas
• Comunidade livre, forte e muito receptiva
As pessoas
• Há um grande incentivo para a
diversidade
• O acolhimento para com os
iniciantes é muito animador
• É fácil encontrar ‘não
programadores’ nas listas de
discussões
• Há sempre encontros locais,
regionais, nacionais e internacionais
• Em junho acontece a PyNordeste e
em outubro a PyBrasil, quem
vamos?
Empregos
http://www.indeed.com/jobtrends?
No Brasil
Não da pra listar no slide
https://github.com/pythonbrasil/pyBusinesses-BR
Globo.com
GetupCloud
Titans Group
JusBrasil
Evolux
IFPB/IFRN ~muitos IFS
Instalando o Python no
Windows
• Precisamos baixar o
executável do Python 3.5.1 no
site http://python.org
• Por favor não clique em next,
next, next!
• Ao executar o instalador
devemos tomar o cuidado de
marcar a opção “Add Python
to environment variables”.
(
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
K
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
K
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
J
A
3
&
9
P
S
E
L
E
C
T
*
F
R
O
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
2
3
D
X
1
ˆ
-1
L
2
0
1
2
3
4
A
F
M
P
O
P
@
#
k
S
L
M
!
K
M
X
Z
A
)
0
9
M
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
O
J
A
3
&
9
)
(
P
S
E
L
E
C
T
*
F
R
Linha de comando
Linha de comando
• Não é difícil, juro!
• Maiúscula ou minúscula importa (A não é a)
• Alta produtividade
• A prática leva a perfeição
• Neo, Morpheus e Trinity usam!
• Mais em: http://slides.com/mariannaverissimo/linux-
para-humanos
Tipos básicos de dados
• Nas linguagens de programação nós armazenamos
dados pelos seus tipos. Por exemplo os números.
• Em Python nós temos alguns tipos de básicos:
• Números
• Texto
• Valores Booleanos
Variáveis
• As variáveis em python são como Post-It
(marcadores).
• x = 42
• x = ‘Eu amo python’
• x = 42
• id(42) == id(x)
Um pouco de Sintaxe
• Um dos pontos fortes do Python é a indentação
obrigatória!
• Os blocos de execução são iniciados e
encerrados de acordo com sua indentação
• print(‘estou no bloco principal’)

if True:

print(‘estou no bloco secundário')
Operadores

Relacionais
• Como fazemos para comparar coisas?
• 42 > 1

True
• 1 < 42

True
• 42 == 1

False
• 42 >= 43

False
• "laranja" == "maçã"

>> False
• "laranja" != "maçã"

>> True
Operadores

Lógicos
• (42 > 1) and (42 > 2)

True
• (42 > 1) or (42 >= 50)

True
• not 42

False
Controle de fluxo
• Como na maioria das linguagens (se não em
todas), existem estruturas para que possamos
controlar o fluxo de execução do nosso programa
• if, else, elif
• x = 42

if x == 42:

print(‘Você acertou’)

else:

print(‘Você errou’)
Listas
• Uma lista parte do mesmo conceito de um Array
tradicional, é possível acessar os elementos pelo índice.
• frutas = [‘Laranja’, ‘Manga’, ‘Abacate’]
• frutas[0]
• >>> ‘Laranja'
• len(frutas)
• >>> 3
Dicionários
• São estruturas de dados ‘parecidas' com as listas
• Mas acessamos os itens por meio de chaves.
• notas = {‘portugues’: 9.2, ‘matematica’: 10.0,
‘geografia’: 8.0}
• notas[‘matematica']

>>> 10
• notas[‘portugues’] = 10
Repetições
• Como imprimir todas as frutas que nós gostamos?
• print(frutas[0])
• print(frutas[1])
• print(frutas[2])

…
• print(frutas[19])
Repetições
• Não é pratico, imagine uma lista das 100 frutas
mais amadas? Esse código ficaria enoooooorme!
Repetições
• As estruturas de repetições nos auxiliam nesse
processo fatídico.
• Utilizamos o for e while
• for fruta in frutas:

print(fruta)
• Nós dizemos: Python para cada posição dentro da
lista frutas salve em uma variável chamada fruta e
imprima na tela.

Repetições
• Nós podemos utilizar o for para qualquer coisa que
possa ser percorrida, como por exemplo uma
string.
• frase = “Eu amo Python”

for letra in frase:

print(letra)
• Nós estamos imprimindo cada letra (carácter) da
frase “Eu amo Python”.
Exercício de fixação
• Faça um programa chamado “ola.py" que imprima
5 vezes a frase “Olá, tudo bem?”.
Funções
• São módulos que permitem uma entrada e uma
saída.
• Utilizamos as funções para economizar em linhas
de código e evitar código repetido.
• Nem todas as funções pedem uma entrada.
• Nem todas as funções retornam algo.
Funções
• Vamos criar a nossa própria função.
• Utilizamos o def para definir uma função.



def epar(numero):

return numero % 2 == 0
• Note que ao digitar e executar nosso programa,
nada foi impresso.
Exercício de fixação
• Escreve um programa que dada uma cadeia de DNA
mostre a cadeia de RNA complementar.
• No DNA temos: Adenina (A), Citosina (C), Guanina (G) e
Timina (T)
• No RNA temos: Adenina (A), Citosina (C), Guanina (G) e
Uracila (U)
• G -> C

C -> G

T -> A

A -> U

Python for kids