Você está na página 1de 38

Curso Python e Django

Francisco André
fandrefh@gmail.com
Senac/PI
1
Como tudo começou?
About the origin of Python, Van Rossum wrote in 1996:

Over six years ago, in December 1989, I was looking for a


"hobby" programming project that would keep me occupied
during the week around Christmas. My office ... would be
closed, but I had a home computer, and not much else on my
hands. I decided to write an interpreter for the new scripting
language I had been thinking about lately: a descendant
of ABC that would appeal to Unix/C hackers. I chose Python as a
working title for the project, being in a slightly irreverent mood
(and a big fan of Monty Python's Flying Circus).
Wikipedia
2
Ditador benevolente para a vida!

Guido van Rossum


Recursos e Filosofia
Python vem com baterias inclusas, quer dizer que dispomos de
vários recursos que estão embutidos no core da linguagem.
Trabalhar com XML, Redes, Interação com o SO enfim, tudo isso
é possível pois já pertence à linguagem.

Python é multi-paradígma, suporta programação orientada a


objetos, procedural, metaprogramação e programação
funcional entre outras.

4
Motivação

5
Partindo pra prática!
"""
Importa o módulo random e sorteia um número inteiro entre 1 e 100.
"""
import random

numero = random.randint(1,100)
escolha = 0
tentativas = 0
while escolha != numero:
escolha = int(input("Escolha um número entre 1 e 100: "))
tentativas += 1
if escolha < numero:
print(“O número", escolha, "é menor que o sorteado!")
elif escolha > numero:
print("O número", escolha, "é maior do que o sorteado!")
print("Parabéns! Você acertou com", tentativas, "tentativas.")
6
A linguagem Python
1. Uma instrução por linha;
2. Endentenção determina os blocos de
códigos;
3. Não misture tabs com espaços;
4. Comentários de uma linha #;
5. Docstrings;

7
A linguagem Python
def spam():
"""Essa função não faz nada"""
pass

def eggs(n):
"""eggs(n) -> string
Retorna uma string com n eggs"""
return "eggs " * n

8
eggs(5)
A linguagem Python
Operadores Aritméticos
+ Adição
- Subtração
* Multiplicação
/ Divisão
// Divisão inteira
% Módulo
** Potência

9
A linguagem Python
Operadores Lógicos
== Igualdade
!= Diferente de
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
in Está contido em
not in Não está contido em
is É (identidade)
is not Não é (identidade)
and E lógico
10
or OU lógico
not Inversor lógico
A linguagem Python

11
A linguagem Python

12
A linguagem Python
Palavras Reservadas
and as assert del
class continue def exec
elif else except global
False finally for is
if import in not
lambda None nonlocal raise
or pass print while
return True try
with yield break
13
Variáveis
Em Python, os nomes de variáveis, funções, módulos e classes
também são conhecidos como identificadores. Conheça algumas
regrinhas que devem ser seguidas:

 O Python é case sensitive;


 O primeiro caractere deve ser uma letra ou um “_”;
 A partir do segundo caractere é permitido utilizar números;
 Não é permitido o uso de qualquer palavra reservada (se for
realmente necessário, use um “_” após o nome da variável);
 Identificadores com “_” ou “__” geralmente são métodos privados,
identificadores não importados de módulos, métodos internos do
Python etc.)
14
Atribuições
Para atribuirmos objetos aos identificadores em Python, utilizamos um
sinal de igualdade “=“ (operador de atribuição).

Sintaxe básica:

identificador = valor

15
Atribuições acumulativas
Operador acumulativo Substitui
identificador += valor identificador = identificador + valor
identificador -= valor identificador = identificador - valor
identificador *= valor identificador = identificador * valor
identificador /= valor identificador = identificador / valor
identificador //= valor identificador = identificador // valor
identificador %= valor identificador = identificador % valor
identificador **= valor identificador = identificador ** valor

16
Comandos básicos
O comando if/elif/else é o comando de decisão da linguagem Python.
É responsável por executar determinado trecho de código caso uma
condição seja atendida.

Sintaxe básica:

if expressão1:
comandos1
elif expressãoN:
comandosN
else:
comandos2
17
Comandos básicos
>>> a = 1
>>> if a:
... print("a é igual a 1")
>>> a = 0
>>> if a:
... #Não será executado
... print("a é igual a 1")
>>> if a:
... #Não será executado
... print("a é igual a 1")
... else:
... #Será executado
... print("a é diferente de 1")
18
Comandos básicos
O comando while é responsável pela criação de loops nos programas
feitos em Python. Consiste em executar o bloco de código enquanto a
expressão for verdadeira.

Sintaxe básica:

while expressão:
comandos1
else:
comandos2

19
Comandos básicos
>>> while True:
... print(“loop infinito...”)
>>> a = 1
>>> while a < 4:
... print(a)
... a += 1
>>> a = 1
>>> while a < 4:
... print(a)
... a += 1
... else:
... print("Fim") 20
Comandos básicos
O comando for é responsável por executar loops de iteração. Esse
comando executará os comandos do bloco de código para cada um
dos elementos iterável.

Sintaxe básica:

for elemento in iterável:


comandos1
else:
comandos2

21
Comandos básicos
>>> for i in "spam":
... print(i)

>>> for i in range(5):


... print(i)

22
O comando break
O comando break tem como finalidade interromper um loop fazendo
com que o interpretador execute a primeira linha logo após a
interrupção.

Sintaxe básica:

>>> a = 0
>>> while True:
... a += 1
... print(a)
... if a > 5:
... break
23
O comando continue
O comando continue tem como finalidade forçar a execução do loop ou
iteração.

Sintaxe básica:

>>> a = 0
>>> while a < 10:
... a += 1
... if a == 2 or a == 5:
... continue
... print(a)
>>> for a in range(10):
... if a == 2 or a == 5:
... continue
24
... print(a)
O comando print
O comando print tem como finalidade escrever na saída padrão do
usuário, que geralmente é a tela.

Sintaxe básica:

>>> print(“Olá mundo!”)

25
O comando pass
O comando pass tem como finalidade escapar um processamento. É
necessário toda vez que você desejar definir um método por exemplo,
mas ainda não implementará o seu comportamento. Como Python usa
a endentação como marcação de blocos de códigos se faz então
necessário o seu uso nesses casos.

Sintaxe básica:

>>> def metodo():


... pass

26
O comando del
O comando del apaga a referência a um objeto. Objetos que não possuem
outra referência são marcados para serem automaticamente coletados
pelo mecanismo de garbage collector liberando então todos os recursos
alocados por ele.

Sintaxe básica:

>>> a = 1
>>> a
1
>>> del a
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined 27
O comando exec***
O comando exec é utilizado para executar código escrito em Python. A
string passada como parâmetro é enviada para o interpretador que
fará a sua execução.

Sintaxe básica:

>>> exec("a = 1")


>>> a
1
>>> exec("if a: print('a é igual a 1')")
a é igual a 1

28
O comando assert
O comando assert é utilizado para efetuar checagens em tempo de
execução. Pode ser usada para a verificação do tipo de dado que está
sendo recebido, por exemplo.

Sintaxe básica:

>>> def funcao(parametro):


... assert isinstance(parametro, list)
...
>>> funcao([])
>>> funcao(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in funcao
AssertionError
29
Tipos e funções builtin
• Inteiros (int);
• Ponto flutuante (float);
• Booleanos (bool);
• Sequências;
• Dicionários (dict).

30
Inteiros (int)
>>> type(50)
<class 'int'>
>>> type(0xFF) #Hexadecimal
<class 'int'>
>>> 50, 0xFF
(50, 255)

31
Ponto flutuante (float)
>>> a = 5.0
>>> type(a)
<class 'float'>
>>> b = 2.0
>>> type(b)
<class 'float'>
>>> type(a*b)
<class 'float'>
>>> import math
>>> type(math.pi)
<class 'float'>
>>> math.pi
3.141592653589793
32
Booleanos (bool)
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>

33
Sequências (String, List, Tuple)
>>> a = ''
>>> type(a)
<class 'str'>
>>> b = []
>>> type(b)
<class 'list'>
>>> c = ()
>>> type(c)
<class 'tuple'>

34
Dicionário (Dict)
>>> a = {}
>>> type(a)
<class 'dict'>
>>> b = {'chave': 'valor'}
>>> type(b)
<class 'dict'>

35
Índice e slicin
Para acessar o elemento de uma sequência, basta indicar o endereço
desse elemento entre colchetes ([]). Toda indexação em Python é
iniciada em 0 (zero).

>>> a = [0,1,2,3,4,5]
>>> a[0]
0
>>> a[4]
4
>>> a[-2]
4

36
Índice e slicin
>>> a = [0,1,2,3,4,5]
>>> a[0]
0
>>> a[4]
4
>>> a[-2]
4

>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


>>> a[2:]
[3, 4, 5, 6, 7, 8, 9, 10]
>>> a[2::2]
[3, 5, 7, 9] 37
Desafios
1. Imprima uma lista com os números pares entre 0 e 100.
2. Receba quatro notas, calcule a média e mostre o seguinte
resultado: >= 7 Aprovado, >= 5 e < 7 Recuperação e < 5
Reprovado.
3. Melhore a interação com o usuário do nosso jogo de adivinhação,
faça por exemplo uma pergunta se deseja continuar jogando
depois do acerto.

38

Você também pode gostar