Modulo 1

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 55

Python Fundamentals

Módulo 1
Clodonil Trigo (@clodonil)
“ Python é uma linguagem de programação de alto
nível, interpretada , imperativa, orientada a
objetos, de tipagem dinâmica e forte .

Criado por Guido van Rossum em 1989



Filoso a da Linguagem
Bonito é melhor que feio
Explícito é melhor que implícito;
Simples é melhor que complexo;
Linear é melhor que aninhado;
Se a implementação é difícil de explicar, a ideia é
ruim;
Se a implementação é fácil de explicar, talvez a
ideia seja boa;

import this
3
Ambiente de Desenvolvimento
Python 3
VS Code (Microsoft)
TextEdit
Notepad++
Vim
PyCharm

4
Segregação de Ambientes
“ Nunca se deve con ar em bibliotecas pré-
instaladas, sempre deve ser declarado atráves de
um manifesto todas as dependências envolvidas
na aplicação, conforme descrito 12factor.

VirtualEnv

Máquinas Virtuais

5
VirtualEnv
Criado um VirtualEnv

$ python3 -m venv workspace_projeto

Ativando o VirtualEnv

$ source workspace_projeto/bin/active

Desativando o VirtualEnv

$ deactivate

6
“ Python tem uma sintaxe simples e direta . Porém,
um ponto de di culdade aos iniciantes, são os
blocos de códigos.

7
Bloco de Código
Blocos de códigos em outas linguagem são marcas
por { e }, como por exemplo em C:

if (x > 5){
printf("maior");
}else {
printf("menor");
}

8
Bloco de Código
Ruby utilizam o do e end para limitar o bloco de
código:

if x > 5
puts "Maior"
else
puts "Menor"
end

9
Bloco de código
Bloco de código é realizado por espaçamento.
Se o espaçamento não for realizado corretamente,
o código não vai funcionar.

if x > 5:
print("Maior")
else
print("Menor")

10
Variável (Name)
Variável pode iniciar com underscore ou letra;
Variável não pode inicar com número;
Variável pode conter caractere alpha-numérico e
underscores (A-z, 0-9, and _ );

Variável são case-sensitive (age, Age e AGE)

and def exec if not return


assert del finally import or try
break elif for in pass while
class else from is print yield
continue except global lambda raise

11
Variável (exemplos)
dados=10

Atribuição também pode ser realizado em cadeia,


conforme o exemplo:

dados=x=filho=10

Outra forma de realizar atribuição em cadeia:

nome,idade,tel = 'jose',10,'56945-2342'

12
Estrutura de Dados
String;
Number ( Integer e Float );

List;
Tuple;
Dictionary;
Boolean

13
String
Exemplo:

texto="As vezes você tem que se levantar sozinho e seguir em frente"

Para declarar múltiplas linhas utilize 3 aspas simples.

texto='''
Tudo e possível.
O impossível apenas demora mais
'''

14
Manipulando String
Exemplo:

texto="As vezes você tem que se levantar sozinho e seguir em frente"


# Recuperar o caractere da posição 5
print(texto[6]) # Retorno "e"

# Recuperar do inicio da string ate posição 10


print(texto[0:10]) # Retorno "As vezes v"

# Recuperar da posição 10 até a posição 15


print(texto[10:15]) # retorno "ocê t"

15
Numbers
a = 5
print(a, "do tipo", type(a))

a = 2.0
print(a, "do tipo", type(a))

a = 1+2j
print(a, "número complexo?", isinstance(1+2j,complex))

“ No exemplo utilizamos a função type() para mostrar o tipo


da classe da variável. Também usamos a função
para comparar o tipo da váriavel.

isinstance()

16
List
Lista é uma sequência de item, equivale aos arrays de
outras linguagens.

lista=[10,60,'jose','45234234',50.9]
# Mostrando a lista
print("Conteúdo da lista", lista)

Estrutura da Lista:

0 1 2 3 4
10 60 'jose' '45234234' 50.9

17
List
Acessando elementos da lista

0 1 2 3 4 5 6 7
10 30 50 90 100 1 5 19

lista=[10,30,50,90,100,1,5,19]

# lista[2] = 50
print("lista[2] = ", lista[2])

# lista[0:3] = [10, 30, 50]


print("lista[0:3] = ", lista[0:3])

# lista[5:] = [1, 5, 19]


print("lista[5:] = ", lista[5:])
18
List
Alterando elementos da lista

a = [1,2,3]
a[2]=4

# [1, 2, 4]
print(a)

19
Tuple
As tuplas são sequência de itens, semelhante a uma
lista. A diferença que a tuples são imutavéis.

t = (10,40,'jose','maria',6.5)

print(t[1])

Tuple é mais rápido que uma lista

20
Dictionary
Dicionário são estrutura de dados com um par
conhecido como chave/valor .

login = {"user": "jose","password":"okri"}

print("usuario", login['user'])

Hash:

user password
jose okri

21
Set
Set é uma coleção não ordenada de itens exclusivos
(não pode ter itens repetidos).

posicao_chegada={3,4,1,7,8}
print(posicao_chegada)

22
Frozenset
Frozensetsão conjuntos similares ao set. A diferença
que frozenset são imutáveis, portanto não podem ser
modi cados.

lista = ('a', 'e', 'i', 'o', 'u')

fSet = frozenset(lista)
print('O frozen set é:', fSet)

23
Boolean
O tipo de dados Boolean em Python são criados pela
classe bool que logicamente aceita 2 valores
constantes True e False .

print(type(True))

Os booleanos também podem ser presentados por


inteiros sendo:

1 para True ;

0 para False ;

[] {} () para False 24
Conversão entre tipos
Descrição Função
Converte para intero. int(x)
Converte para oat. oat(x)
Converte para String str(x)
Converte para uma tuple tuple(s)
Converte para Lista. list(s)
Converte para Set. set(s)
Converte um set em frozenset. frozenset(s)

25
Operadores
Operações básicas de matemáticas são realizadas
pelos operadores + , - , / e * .

Descrição Operador
adição +
subtração -
divisão /
multiplicação *

26
Exemplo
A utilização é bem simples.

soma = 10 + 5

Python também segue as precedências de nidas pela


matemática.

result = 2+2*2 # Resultado 6


#dessa forma fica mais legível
result = (2+2)*2 # Resultado 8

27
Operadores de Atribuição
Operadores que fazem operação e atribuição.

Descrição Operador
soma e atribui +=
subtrai e atribui -=
multiplica e atribui *=
dividi e atribui /=

28
Exemplo:
a = 10
a = a + 10
a += 10

29
“ Além dos operadores básicos, também temos os
operadores para exponenciação , módulo da divisão ,
parte inteira de uma divisão .

Descrição Operador
exponenciação **
parte inteira //
módulo %

30
Exemplo
A sintaxe para utilização desses operadores.

result = 2 ** 2 # resutado 4
result = 5 // 2 # resultado 2
result = 5 % 2 # resultado 1

Esses operadores podem ser utilizados com outras


estruturas de dados tais como string e list.

result = "-"*50
result = "Ola" + "Mundo"

31
Operadores com Lista:
lista = [1,2,3] * 10
todos_numeros = [2,4,6,8] + [1,3,5,7]

Além dos operadores matemáticos, também temos os


operadores lógicos que retornam True e False .

Descrição Operador
Maior que >
Menor que <
Igual a ==
Maior ou igual a >=
Menor ou igual a <=
Negação not 32
Operadores Lógicos (Exemplos)
A utilização dos operadores lógicos também é bem
simples.

a=10 > 5
b=100 == 200

if 200 > 100:


print("maior")
if a or b:
print("Tudo certo")
if a and b:
print("Tudo errado")
x = not(a and b)

33
Operadores Contido e Identidade
Os operadores contido e teste de identidade .

Descrição Operador
Contido em in
Identidade is
Criar funções lambda

34
Operador Contido (IN)
Operador in para veri car se um valor está em uma
lista.

x = 10 in [3,4,5,10]
y = 50 in [3,4,5,10]

xé True
yé False

35
Identidade (IS)
Operador is é para veri car identidade de um
objetivo.

a=10
b=a

k = a is b

print(id(a))
print(id(b))

a=[10,2,3]
b=[10,2,3]

k is b
36
Lambda
O operador lambda é bastante útil, com ele podemos fazer
pequenas funções.

produto = lambda x,y: x*y


result = produto(6,4)
print(result)

37
Controle de Fluxo
O controle de uxo de dados no Python podem ser
realizados utilizando desvio no uxo de código ou
através de sistema de repetição.

if
for
while

38
Condição IF

No desvio de uxo, utilizamos o comando IF . A


sintaxe é a seguinte:

if (expressão):
pass
elif (expressão):
pass
else:
pass

39
Condição IF (Exemplo)
Entrada de dados via input , transformar em inteiro e
realizar as comparações.

x = int(input("Digite um numero: "))

if x < 0:
print('Valor negativo')
elif x == 0:
print('Zero')
elif x > 0 and x < 10:
print('Maior que Zero e menor que 10')
else:
print('Maior que 10')

40
Repetição For

Além do desvio de uxo, podemos repetir um pedaço


de código utilizando o FOR .

words = ['gato', 'cachorro', 'coelho']


for w in words:
print(w, len(w))

w len(w)
gato 4
cachorro 8
coelho 6

41
“ Caso não tenha uma lista de coisas , uma nova
lista de números pode ser criada utilizando a
função range . Por exemplo, se você precise gerar
uma lista de números de 0 até 5 range(5)

42
Gerador de Lista de Números
for i in range(5):
print(i)

A sintaxe do range é a seguinte:

range(inicio, fim, pulo)

43
Mais exemplo de Range
Exemplos:

range(5, 10)
5, 6, 7, 8, 9

range(0, 10, 3)
0, 3, 6, 9

range(-10, -100, -30)


-10, -40, -70

44
Repetição while

O uxo vai car no while até a condição for False .

Sintáxe:

while condição:
pass
else:
pass

45
Repetição while (Exemplo)
Vamos repetir um bloco de código enquanto o valor
de x seja menor que 10 .

x= 0

while x < 10:


print('Numero', x)
x += 1

else:
print('Finalizado')

46
Repetição while (Exemplo)
Em muitos casos isso não é possível determinar a
quantidade de vezes que o While vai ser executado.

x = 'inicio'
lista = []
while x.lower() != 'fim':
x = input("Digite o próximo nome:")
lista.append(x)

print(lista)

47
break , continue e else

A instrução break é interna para as funções for ou


while e quando invocado finaliza de forma bruta
o loop.
A instrução continue naliza aquela parte do bloco
de código e volta para o início do loop.
As instruções de loop podem ter uma cláusula
else ; ele é executado quando o loop termina por
esgotamento da lista ( for ) ou quando a condição
se torna falsa ( while ), mas não quando o loop é
nalizado por uma instrução break .

48
break , continue e else

nomes=['maria','jose','carlos','eduardo']

for nome in nomes:


if nome == 'jose':
continue
elif nome == 'eduardo':
break
print(nome)

else:
print("Finalizado naturalmente")

49
Outras funções
print

O print como já vimos em vários exemplos, é


utilizado para imprimir na tela.

split

A função split utiliza um padrão para 'quebrar' uma


string e gerar uma lista.

50
Exemplos de print()

Vamos aprender com esses exemplos:

# declarar variavel
nome, idade, salario ="jose",30, 100.00

# imprimindo texto
print("Inicio do programa")

# imprimindo apenas variável


print(nome)

# Imprime string com variável


print("Usuario:",nome)

51
Continuando...

# Imprime string com variável


print("O usuario:"+ nome)

# Usando o format
print("O usuario {0} tem {1:d} idade".format(nome, idade))

# Usando format com float


print("salario {0:0.2f} l".format(salario))

# alinha a direita com 20 espaços em branco


print("{0:>20}".format(nome))

52
Continuando...

# alinha a direita com 20 símbolos -


print("{0:->20}".format(nome))

# alinha ao centro usando 10 espaços em branco


# a esquerda e 10 a direita
print("{0:^20}".format(nome))

# imprime só as primeiras cinco letras


print("{0:.3}".format(nome))

#Imprime em hexdecimaç
print("{0:x}".format(23))

53
Split (Exemplo)
Como exemplo, vamos utilizar as seguinte strings:

texto = "jose:30anos:rua de baixo:sp"

Temos um delimitador na variável que é o ":".

lista = texto.split(":")
# ['jose','30anos','rua de baixo','sp']

print(lista[0])
# imprimir o nome

“ - Qualquer caractere pode ser o delimitador. “

54
Laboratório Módulo 1

55

Você também pode gostar