2. PYTHON - INTRODUÇÃO
● É uma linguagem de programação que iniciou seu
desenvolvimento no final da década de 1980, por Guido van
Rossum.
● Empresas que utilizam Python:
○ Wikipedia;
○ Google;
○ Yahoo!;
○ CERN;
○ NASA;
○ Facebook;
○ Amazon;
○ Instagram;
○ Spotify. . .
9. PYTHON - INTRODUÇÃO
● Bibliotecas de suporte extensivas;
● Script;
● Case sensitive;
● Multiparadigma:
○ Funcional;
○ Imperativa;
○ Procedural
○ Orientada a Objetos;
● Tipagem dinâmica e forte;
● Legibilidade; Fácil leitura e compreensão;
● Portabilidade; (web, mobile, IA, automação, etc)
● Grande crescimento na comunidade de desenvolvedores;
○ Concurso PF (2018)
○ Concurso Agente de Polícia Civil do DF
10. PYTHON - INTRODUÇÃO
● Usa indentação para delimitação de blocos.
● Ex:
Outras Linguagens Python
def f(){
x = 42
return x
}
print(f())
def f():
x = 42
return x
print(f())
12. INSTALAÇÃO
● Ambientes de Desenvolvimento Integrado (IDE): São software
utilizados para a programação e desenvolvimento de outros
softwares;
● IDE para python:
○ PyCharm: A IDE mais utilizada para o desenvolvimento em
Python;
○ ATOM, IDLE, Spyder, Visual Studio Code;
○ Jupter Notebook: IDE online;
○ Replit.com: IDE online.
13. COMENTÁRIOS
● Os comentários são muito utilizado dentro de programas de
computador para explicar o que cada parte do programa está
fazendo;
● Comentários serão visualizados apenas pelos programadores;
14. COMENTÁRIOS
● Em Python, para colocar comentários no código, utiliza-se #
(hashtag - para comentários de uma linha), ‘’’ ou “”” (3 aspas
simples ou 3 aspas duplas, para comentários de várias linhas):
● Ex:
16. VARIÁVEIS
● São pequenos espaços de memória, utilizados para armazenar e
manipular dados.
● Tipos de dados básicos:
○ inteiro;
○ float;
○ lógico: Falso (False) ou Verdadeiro (True);
○ string; (é uma sequência de caracteres)
● Variáveis fortemente tipadas;
○ Ex:
>>> a = 2
>>> a = 1.2
>>> a = “Olá Mundo”
>>> a = True
a se torna inteiro
a se torna float
a se torna string
a se torna lógico
17. NOMECLATURA DE VARIÁVEIS
● Em python, os nomes das variáveis podem conter apenas:
○ letra, números ou _ (sublinhado);
● O nome das variáveis não podem iniciar com números;
● Não pode-se nomear variáveis utilizando as palavras chaves do
Python:
19. NOMECLATURA DE VARIÁVEIS
● Por convenção costuma-se nomear variáveis em Python sem o
uso de letras maiúsculas.
● Tentar dar um nome ilegal a uma variável ocasionará erro de
sintaxe:
22. OPERADORES RELACIONAIS
Operador Descrição Exemplo
< Menor que a < 10
<= Menor ou igual b <= 5
> Maior que c > 2
>= Maior ou igual d >= 8
== Igual e == 5
!= Diferente f != 12
24. OPERADORES: ORDEM DE
PRECEDÊNCIA
CLASSE OPERADORES
Aritmético ()
Aritmético **
Aritmético *, /, //, %
Aritmético +, -
Relacional >, >=, <, <=, ==, !=
Lógico Not
Lógico And
Lógico Or
25. ATRIBUIÇÃO DE VALORES
● Em Python, assim como em uma ampla gama de linguagens de
programação, as atribuições são feitas através do operador =,
sendo que o valor à esquerda do operador recebe o valor à direita
desse.
● Ex:
>>> a = 7
>>> b = 7.7
>>> c = 'Texto....'
26. ATRIBUIÇÃO DE VALORES
● Também é possível fazer novas atribuições à mesma variável,
fazendo com que a mesma assuma valores de tipos diferentes em
momentos diferentes do programa.
● Ex:
28. ATRIBUIÇÃO DE EXPRESSÃO DE
FORMA RESUMIDA
● Outra forma de somar e multiplicar na variável:
● Ex:
29. ATRIBUIÇÃO MÚLTIPLA
● Exemplos de atribuições múltiplas:
⋙ a = 1
⋙ b = 200
⋙ print(a, b)
1 200
⋙ a, b = 10, 300
⋙ print(a, b)
10 300
⋙ a, b = b, a
⋙ print(a, b)
300 10
30. ATRIBUIÇÃO MÚLTIPLA
● Exemplos de atribuições múltiplas:
⋙ a, b, c, d = 1, 2, 3, 4
⋙ print(a, b, c, d)
1 2 3 4
⋙ a, b, c, d = d, c, b, a
⋙ print(a, b, c, d)
4 3 2 1
31. CAST - CONVERSÃO DE TIPOS
● Para a conversão de variáveis entre os tipos possíveis, basta
inserir o valor ou variável que deseja converter dentro da função
com o nome do tipo desejado.
● Ex:
⋙ a = input('Digite um número inteiro: ')
Digite um número: 7
⋙ a = int(a) => a = 7
⋙ a = float(a) => a = 7.0
⋙ a = str(a) => a = “7”
32. ENTRADA DE DADOS
● A atribuição de valor para uma variável pode ser feita utilizando o
comando input(), que solicita ao usuário o valor a ser atribuído à
variável.
● Ex:
33. ENTRADA DE DADOS
● O comando input(), sempre vai retornar uma string. Para retornar
dados do tipo inteiro ou float, é preciso converter o tipo do valor
lido. Para isso, utiliza-se a função int(string) para converter para
o tipo inteiro, ou float (string) para converter para o tipo float.
● Ex:
34. SAÍDA DE DADOS
● Para a saída de dados em Python, a forma mais básica e geral é
através do uso da função print(). Essa função permite ao
programador imprimir na tela do usuário as informações
desejadas.
● Para se imprimir um texto, basta colocá-lo dentro de aspas
(simples ou dupla).
● Para se imprimir os valores de variáveis, basta escrever o nome
da variável desejada.
● Caso a variável for diferente do tipo string, deve-se acrescentar
uma vírgula para separá-la de outras variáveis ou do texto dentro
das aspas.
● Caso a variável for do tipo string, então deve-se acrescentar o
operador +, que simbolizará a concatenação de strings.
35. SAÍDA DE DADOS
● Ex:
>>> a = 7
>>> b = 5.2
>>> texto = 'Apostila Python'
>>> print('As variáveis a, b e texto são: ', a, b,
texto)
As variáveis a, b e texto são: 7 5.2 Apostila
Python
36. SAÍDA DE DADOS
● Caso haja interesse e/ou necessidade, os valores (quaisquer) das
variáveis a serem impressas através da função print() podem ser
convertidos ao tipo string e concatenados com o operador +.
● Ex:
>>> a = 7
>>> b = 5.2
>>> texto = 'Apostila Python'
>>> print('As variáveis a, b e texto são: '+
str(a)+ str(b)+ texto)
As variáveis a, b e texto são: 75.2Apostila Python
37. SAÍDA DE DADOS
● Uma outra forma de se utilizar a função print(), é através da
interpolação das variáveis dentro do espaço destinado ao texto
(dentro das aspas). Para isso, deve-se saber previamente qual o
tipo de variável e escrever a função com o operador % junto da
letra que corresponde à variável a ser interpolada. Na Tabela a
seguir estão indicados os símbolos usados na interpolação das
variáveis.
38. SAÍDA DE DADOS
● Símbolos utilizados para interpolação de strings:
39. SAÍDA DE DADOS
>>> a = 7
>>> b = 5
>>> print("HORÁRIO: %02dh%02d" %(a,b))
HORÁRIO: 07h05
>>> print("PORCENTAGEM: %.0f.%.0f%%" %(a,b))
PORCENTAGEM: 7.5%
40. SAÍDA DE DADOS
>>> a = 7
>>> b = 5
>>> print("Exponencial: %.3e" %a)
Exponencial: 7.000e+00
>>> print("Hexadecimal: %x, Decimal: %d, Octal: %o
" %(10,10,10))
Hexadecimal: a, Decimal: 10, Octal: 12
41. SAÍDA DE DADOS
● Caso haja interesse e/ou necessidade, os valores (quaisquer) das
variáveis a serem impressas através da função print() podem ser
convertidos ao tipo string e concatenados com o operador +.
● Ex:
>>> a = 7
>>> b = 5.2
>>> texto = 'Apostila Python'
>>> print('As variáveis a, b e texto são: '+ str(a)+'
'+ str(b)+' '+ texto)
As variáveis a, b e texto são: 7 5.2 Apostila Python
42. STRINGS
● É qualquer sequência de caracteres abraçada por aspas simples
(‘...’) ou aspas duplas (“...”) ou aspas triplas (‘’’...’’’).
● Strings são imutáveis, ou seja, não é possível adicionar, remover
ou substituir seus caracteres sem que outra string seja criada.
● Ex:
43. STRINGS
● As aspas triplas servem para inserir textos de mais de uma linha.
● Ex:
⋙ string_grande = '''Aqui consigo inserir um
⋙ textão com várias linhas, posso iniciar em uma
⋙ e posso continuar em outra
⋙ e em outra
⋙ e acabou.'''
⋙ print(string_grande)
Aqui consigo inserir um
textão com várias linhas, posso iniciar em uma
e posso continuar em outra
e em outra
e acabou.
45. FUNÇÕES PARA STRING
Método Descrição Exemplo
len()
Retorna o tamanho da string. teste = "Apostila de Py"
len(teste)
14
capitalize()
Retorna a string com a primeira
letra maiúscula
a = "python"
a.capitalize()
'Python'
count()
Informa quantas vezes um
caractere (ou uma sequência de
caracteres) aparece na string.
b = "Linguagem Python"
b.count("n")
2
startswith()
Verifica se uma string inicia com
uma determinada sequência.
c = "Python"
c.startswith("Py")
True
endswith()
Verifica se uma string termina com
uma determinada sequência.
d = "Python"
d.endswith("Py")
False
46. FUNÇÕES PARA STRING
Método Descrição Exemplo
isalnum()
Verifica se a string possui algum
conteúdo alfanumérico (letra ou
número).
e = "!@#$%"
e.isalnum()
False
isalpha()
Verifica se a string possui apenas
conteúdo alfabético.
f = "Python"
f.isalpha()
True
islower()
Verifica se todas as letras de uma
string são minúsculas.
g = "pytHon"
g.islower()
False
isupper()
Verifica se todas as letras de uma
string são maiúsculas.
h = "# PYTHON 12"
h.isupper()
True
lower()
Retorna uma cópia da string
trocando todas as letras para
minúsculo.
i = "#PYTHON 3"
i.lower()
'#python 3'
47. FUNÇÕES PARA STRING
Método Descrição Exemplo
upper()
Retorna uma cópia da string
trocando todas as letras para
maiúsculo.
j = "Python"
j.upper()
'PYTHON'
swapcase()
Inverte o conteúdo da string
(Minúsculo / Maiúsculo).
k = "Python"
k.swapcase()
'pYTHON'
title()
Converte para maiúsculo todas as
primeiras letras de cada palavra da
string.
l = "apostila de python"
l.title()
'Apostila De Python'
split()
Transforma a string em uma lista,
utilizando os espaços como
referência.
m = "cana de açúcar"
m.split()
['cana', 'de', 'açúcar']
48. FUNÇÕES PARA STRING
Método Descrição Exemplo
replace(S1,
S2)
Substitui na string o trecho S1 pelo
trecho S2.
n = "Apostila teste"
n.replace("teste",
"Python")
'Apostila Python'
find()
Retorna o índice da primeira
ocorrência de um determinado
caractere na string. Se o caractere
não estiver na string retorna -1.
o = "Python"
o.find("h")
3
ljust()
Ajusta a string para um tamanho
mínimo, acrescentando espaços à
direita se necessário.
p = " Python"
p.ljust(15)
' Python '
rjust()
Ajusta a string para um tamanho
mínimo, acrescentando espaços à
esquerda se necessário.
q = "Python"
q.rjust(15)
' Python'
49. FUNÇÕES PARA STRING
Método Descrição Exemplo
center()
Ajusta a string para um tamanho
mínimo, acrescentando espaços à
esquerda e à direita, se necessário.
r = "Python"
r.center(10)
' Python '
lstrip()
Remove todos os espaços em
branco do lado esquerdo da string.
s = " Python "
s.lstrip()
'Python '
rstrip()
Remove todos os espaços em
branco do lado direito da string.
t = " Python "
t.rstrip()
' Python'
strip()
Remove todos os espaços em
branco da string.
u = " Python "
u.strip()
'Python'
50. FATIAMENTO DE STRING
● É uma ferramenta usada para extrair apenas uma parte dos
elementos de uma string.
Nome_String [Limite_Inferior : Limite_Superior]
ou
Nome_String [Limite_Inferior : Limite_Superior: passo]
● Retorna uma string com os elementos das posições do limite
inferior até o limite superior - 1.
52. FATIAMENTO DE STRING
Ex 2:
⋙ frase = "Aprender Python é muito divertido!"
⋙ frase[0]
⋙ 'A'
⋙ frase[5]
⋙ 'd'
⋙ frase[0:5] # do zero até o antes do 5
⋙ 'Apren'
⋙ frase[:] # tudo!
⋙ 'Aprender Python é muito divertido!'
⋙ frase
⋙ 'Aprender Python é muito divertido!'
⋙ frase[6:] # 'obter de 6 até o final'
⋙ 'er Python é muito divertido!'
53. FATIAMENTO DE STRING
Ex 3:
⋙ frase[:6] # se omitido o primeiro indice,
significa 'obter desde o começo'
⋙ 'Aprend'
⋙ frase[2:-3] # funciona com números negativos
⋙ 'render Python é muito diverti'
⋙ frase[0:-5]
⋙ 'Aprender Python é muito diver'
⋙ frase[0:-6]
⋙ 'Aprender Python é muito dive'
⋙ frase[0:-7]
⋙ 'Aprender Python é muito div'
⋙ frase[2:-2]
⋙ 'render Python é muito divertid'
54. FATIAMENTO DE STRING
Ex 4:
⋙ frase[::1] # do começo, até o fim, de 1 em 1.
Ou seja, tudo do jeito que ja era, não faz
diferença nenhuma.
⋙ 'Aprender Python é muito divertido!'
⋙ frase[::2] # do começo, até o fim, de 2 em 2
⋙ 'Arne yhnémiodvrio
⋙ frase[2:-2:2] # Do terceiro, até o
antepenúltimo, de 2 em dois
⋙ 'rne yhnémiodvri'
⋙ "frase"[::-1] # passo negativo = inverso
⋙ '!oditrevid otium é nohtyP rednerpA'
55. FORMATAÇÃO DE STRING
● A formatação de string utiliza a função format() para criar frases
dinâmicas, utilizando valores de quaisquer variáveis desejadas.
● Ex:
⋙ nome = input('Digite seu nome ')
⋙ Digite seu nome Silvio Santos
⋙ nome
⋙ 'Silvio Santos'
⋙ frase = 'Olá, {}'.format(nome)
⋙ frase
⋙ 'Olá, Silvio Santos'
56. FORMATAÇÃO DE STRING
● É possível formatar uma quantidade arbitrária de valores:
● Ex:
⋙ '{} x {} = {}'.format(7, 6, 7 * 6)
⋙ '7 x 6 = 42'
ou
⋙ palavra = 'Python'
⋙ numero = 10
⋙ booleano = False
⋙ '{} é {}. E as outras linguagens?
{}'.format(palavra, numero, booleano)
⋙ 'Python é 10. E as outras linguagens? False'
57. FORMATAÇÃO DE STRING
● Uma maneira mais recente de formatar strings foi introduzida a
partir da versão 3.6 do Python, carinhosamente conhecida como
fstrings e funciona da seguinte forma:
● Ex:
⋙ nome = 'Silvio'
⋙ f'Olá, {nome}.'
⋙ 'Olá, Silvio.'
● Também é possível fazer operações:
⋙ f'4654 * 321 é {4654 * 321}'
⋙ '4654 * 321 é 1493934'
58. FUNÇÃO type()- TIPOS DE
VARIÁVEIS
● Em Python, pode-se descobrir qual o tipo da variável através do
interpretador utilizado. Para isso, basta utilizar a função type(),
como segue no exemplo mostrado abaixo:
>>> type(1)
<class 'int'>
>>> type(1.1)
<class 'float'>
>>> type(1 + 1.1j)
<class 'complex'>
>>> type('Python')
<class 'str'>
>>> type([1, 1.1, 1 + 1.1j, 'Python'])
<class 'list'>
59. if...elif...else
● Nesta unidade, são apresentados os operadores condicionais. Isto
é, os operadores que permitem o programa realizar verificações
condicionais para uma lógica mais robusta e que proporcione
melhores soluções ao problema a ser resolvido.
● Em Python, os operadores condicionais são o if e o else. A partir
destes, existe a ramificação elif, que é a junção do if com o else
para indentar os condicionais em sequência lógica.
60. if...elif...else
● Somente o bloco de comandos associado à primeira condição verdadeira encontrada
será executado. Se nenhuma das condições tiver valor verdadeiro, executa o bloco
de comandos else.
● Sintaxe:
if <condição1> :
<Bloco de comandos 1>
elif <condição2> :
<Bloco de comandos 2>
elif <condição3> :
<Bloco de comandos 3>
:::::::::::::::::::::::::::::::::::::::::
else :
<Bloco de comandos default>
61. if...elif...else
● Ex:
a = 1
b = 2
if b > a:
c = 'is cool! '
elif a == b:
c = "isn't cool! "
else:
c = "isn't cool! "
a = 'Apostila '
b = 'of Python '
print(a + b + c)
62. if...elif...else
● Ex:
a = 1
b = 2
if b > a:
c = 'é legal! '
elif a == b: =>
c = "não é legal! "
else:
c = "não é legal! "
a = 'Apostila '
b = 'de Python '
print(a + b + c)
Apostila de Python é legal!
63. if...elif...else
● Em Python, caso haja a necessidade de se verificar a condição de
um intervalo ou de valores diferentes em relação a um terceiro, é
possível simplificar sua sintaxe como segue no exemplo abaixo.
a = ?
if -10 < a and a < 10:
print('(-10, 10) é o intervalo de a.')
else:
print('(-10, 10) não é o intervalo de a.')
a = ?
if -10 < a < 10:
print('(-10, 10) é o intervalo de a.')
else:
print('(-10, 10) não é o intervalo de a.')
64. LAÇO - FOR
● O laço for é a estrutura de repetição mais utilizada em Python.
Pode ser utilizado com uma sequência numérica (gerada com o
comando range) ou associado a uma lista. O trecho de código da
repetição é executado para cada valor da sequência numérica ou
da lista.
● Sintaxe:
for <variável> in range (início, limite, passo):
<Bloco de comandos >
ou
for <variável> in <lista> :
<Bloco de comandos >
65. FUNÇÃO RANGE()
● A função range() cria uma lista com os valores de um intervalo
apontado por seus parâmetros.
○ A função range() pode ter de 1 a 3 parâmetros:
■ range(n) gera um intervalo de 0 a n-1
■ range(i , n) gera um intervalo de i a n-1
■ range(i , n, p) gera um intervalo de i a n-1 com intervalo p
entre os números
69. BREAK e CONTINUE
● As repetições podem ser melhor utilizadas através das instruções
break e continue. A instrução break interrompe o laço
(terminando-o por completo) e a instrução continue pula para a
próxima iteração imediatamente (não termina o laço, apenas
passa à próxima iteração).
70. BREAK e CONTINUE
● Ex:
for i in range(5):
if i == 0:
print('i = 0, Então: ', i)
elif i == 1:
continue
print('i = 1, Então: continue')
elif 1 < i < 3:
print('A variável i, é: ', i)
elif i == 3:
print('i = 3, Então: break')
break
else:
print('i > 3, Então: ', i)
71. for i in range(5):
if i == 0:
print('i = 0, Então: ', i)
elif i == 1:
continue
print('i = 1, Então: continue')
elif 1 < i < 3:
print('A variável i, é: ', i)
elif i == 3:
print('i = 3, Então: break')
break
else:
print('i > 3, Então: ', i)
BREAK e CONTINUE
● Ex:
i = 0, Então: 0
# A variável i, é: 2
# i = 3, Então: break
72. LAÇOS - WHILE
● No laço while, o bloco de comandos da repetição está associado
a uma condição. Enquanto a condição tiver valor verdadeiro, o
trecho é executado. Quando a condição passa a ter valor falso, a
repetição termina.
● Sintaxe:
while <condição> :
<Bloco de comandos>
73. LAÇO - WHILE
● Ex 1:
a = 0
b = 2
while a <= b:
print(f'{a} <= {b}')
a += 1 # a = a + 1
0 <= 2
1 <= 2
2 <= 2
75. LAÇO - WHILE
● Ex 3: Faça a soma de 5 valores digitados pelo usuário
76. LAÇO - WHILE
● Uma utilização muito comum do laço while é para se criar laços
infinitos:
i = 0
while True:
print(i)
i += 1
77. ESTRUTURAS DE DADOS
● As estruturas de dados definem a organização, métodos de
acesso e opções de processamento para um conjunto de dados.
● Tipos de estruturas de dados:
○ Listas;
○ Tuplas;
○ Dicionários;
○ Conjuntos, etc.
79. ESTRUTURAS DE DADOS
● Operações Básicas:
○ Inclusão (inserção);
○ Alteração;
○ Exclusão (deletar);
○ Listagem (pesquisa).
80. LISTAS
● Lista é um conjunto MUTÁVEL sequencial de valores de qualquer
tipo, onde cada valor é identificado através de um índice. O
primeiro valor tem índice 0.
● Uma lista em Python é declarada da seguinte forma:
nome_lista = [ valor1, valor2, ..., valorN]
● Uma lista pode ter valores de qualquer tipo, incluindo outras
listas.
82. LISTA VAZIA
● É possível criar uma lista vazia a partir dos seguintes códigos:
lista = []
lista = list()
83. LISTAS
● Para alterar um elemento da lista, basta fazer uma atribuição de
valor através do índice. O valor existente será substituído pelo
novo valor.
● Ex:
85. REMOVENDO ELEMENTOS DA LISTAS
● Devido à lista ser uma estrutura mutável, é possível remover
seus elementos utilizando o comando del:
● Ex:
86. CONCATENANDO LISTAS
● O operador + concatena listas:
● Ex:
● O operador * repete a lista dado um número de vezes:
● Ex:
87. FUNÇÕES PARA LISTAS
Método Descrição Exemplo
len() retorna o tamanho da lista. L = [1, 2, 3, 4]
len(L) -> 4
min() retorna o menor valor da
lista.
L = [10, 40, 30, 20]
min(L) -> 10
max() retorna o maior valor da lista. L = [10, 40, 30, 20]
max(L) -> 40
sum() retorna soma dos elementos
da lista.
L = [10, 20, 30]
sum(L) -> 60
append() adiciona um novo valor na no
final da lista.
L = [1, 2, 3]
L.append(100)
L -> [1, 2, 3, 100]
88. FUNÇÕES PARA LISTAS
Método Descrição Exemplo
extend() insere uma lista no final de outra
lista.
L = [0, 1, 2]
L.extend([3, 4, 5])
L -> [0, 1, 2, 3, 4, 5]
del ou
remove()
remove um elemento da lista,
dado seu índice.
L = [1,2,3,4]
del L[1]
L -> [1, 3, 4]
in verifica se um valor pertence à
lista.
L = [1, 2 , 3, 4]
3 in L -> True
sort() ordena em ordem crescente L = [3, 5, 2, 4, 1, 0]
L.sort()
L -> [0, 1, 2, 3, 4, 5]
reverse() inverte os elementos de uma lista. L = [0, 1, 2, 3, 4, 5]
L.reverse()
L -> [5, 4, 3, 2, 1, 0]
90. FATIAMENTO DE LISTAS
lista[ início : fim : passo ]
início = primeiro índice do fatiamento
fim = último índice do fatiamento
passo = como percorrer do início até o fim
obs: estes parâmetros são semelhantes aos da função range
91. TUPLAS
● É um conjunto IMUTÁVEL sequencial de valores, onde cada valor
é identificado através de um índice.
● Tupla, são semelhantes à Listas. A principal diferença entre elas
é que as tuplas são imutáveis, ou seja, seus elementos não
podem ser alterados.
● De forma concisa, tuplas não permitem apagar, acrescentar e
nem realizar atribuições a tuplas já criadas.
● Uma tupla em Python é declarada da seguinte forma:
Nome_tupla = (valor1, valor2, ..., valorN)
93. TUPLAS
● Uma ferramenta muito utilizada em tuplas é o
desempacotamento, que permite atribuir os elementos
armazenados em uma tupla a diversas variáveis.
● Ex:
94. TUPLAS
● Embora uma tupla seja imutável, esta pode ser formada por
elementos mutáveis (como listas) e então esses elementos
podem ser atualizados, desde que se respeite o formato da
Tupla.
96. DICIONÁRIOS
● Dicionário é um conjunto de valores não sequenciais, onde cada
valor é associado a uma chave de acesso.
● Um dicionário em Python é declarado da seguinte forma:
Nome_dicionario = { chave1 : valor1,
chave2 : valor2,
chave3 : valor3,
......
chaveN : valorN}
100. DICIONÁRIOS
● É possível acrescentar ou modificar valores no dicionário:
>>> D["carne"]=25.0
>>> D["tomate"]=8.80
>>> print(D)
>>> {'alface':3.4,'tomate':8.8,'arroz':17.3,
'carne':25.0, 'feijão':12.5}
● Os valores do dicionário não possuem ordem, por isso a ordem de
impressão dos valores não é sempre a mesma.
101. DICIONÁRIOS
● Na tabela a seguir são apresentados alguns comandos para a
manipulação de dicionários.
102. DICIONÁRIOS
● Os dicionários podem ter valores de diferentes tipos.
● Ex:
⋙ Dx ={2:"carro", 3:[4,5,6], 7:('a','b'), 4: 173.8}
⋙ print(Dx[7])
⋙ ('a', 'b')
103. DICIONÁRIOS
● Percorrendo as chaves dos dicionários
● Ex:
lista_contatos = {'Yan': '1234-5678', 'Pedro': '9999-9999',
'Ana': '8765-4321',
'Marina': '8877-7788'}
for pessoa in lista_contatos:
print(pessoa)
Yan
Pedro
Ana
Marina
104. DICIONÁRIOS
● Percorrendo os valores dos dicionários
● Ex:
lista_contatos = {'Yan': '1234-5678', 'Pedro': '9999-9999',
'Ana': '8765-4321',
'Marina': '8877-7788'}
for contato in lista_contatos.values():
print(contato)
1234-5678
9999-9999
8765-4321
8877-7788
105. DICIONÁRIOS
● Percorrendo as chaves e valores dos dicionários
● Ex:
lista_contatos = {'Yan': '1234-5678', 'Pedro': '9999-9999',
'Ana': '8765-4321',
'Marina': '8877-7788'}
for pessoa in lista_contatos:
print(f'{pessoa}: {lista_contatos[pessoa]}')
Yan: 1234-5678
Pedro: 9999-9999
Ana: 8765-4321
Marina: 8877-7788
107. FUNÇÕES
● Funções são pequenos trechos de código reutilizáveis. Elas
permitem dar um nome a um bloco de comandos e executar esse
bloco, a partir de qualquer lugar do programa.
● Sintaxe:
def <nome_função> (<definição dos parâmetros >) :
<Bloco de comandos da função>
109. FUNÇÕES - ESPAÇO PARA
CONSTRUÇÃO DE FUNÇÕES
● Faz-se necessário destacar que o fluxo da programação em
Python sempre é interrompido no momento que uma função é
chamada. Quando isso acontece, ele interrompe a sequência do
código, executa a função invocada e, após o término da função,
retorna a sequência do ponto em que havia parado.
● Por esse motivo, é necessário que as funções sejam previamente
criadas. Assim, recomenda-se que essas estejam localizadas
após a importação das bibliotecas e/ou módulos utilizados, no
início do código.
110. FUNÇÕES - ESPAÇO PARA
CONSTRUÇÃO DE FUNÇÕES
● Ex:
funcao_teste()
def funcao_teste():
print("olá")
Traceback (most recent call last):
File "main.py", line 158, in <module>
funcao_teste()
NameError: name 'funcao_teste' is not defined
111. FUNÇÕES - PARÂMETROS
● Parâmetros são as variáveis que podem ser enviadas para as
funções. Quando a função é chamada são passados valores para
essas variáveis. Esses valores também são chamados
argumentos. O corpo da função pode utilizar essas variáveis,
cujos valores podem modificar o comportamento da função.
● Ex:
112. FUNÇÕES - RETORNO DE VALORES
● O comando return é usado para retornar um valor de uma função
e encerrá-la. Caso não seja declarado um valor de retorno, a
função retorna o valor None (que significa nada, sem valor).
● Ex:
113. FUNÇÕES - ESCOPO DE VARIÁVEIS
● Toda variável utilizada dentro de uma função tem escopo local,
isto é, ela não será acessível por outras funções ou pelo
programa principal. Se houver variável com o mesmo nome fora
da função, será uma outra variável, completamente
independentes entre si.
115. FUNÇÕES - ESCOPO DE VARIÁVEIS
● Para uma variável ser compartilhada entre diversas funções e o
programa principal, ela deve ser definida como variável global.
Para isto, utiliza-se a instrução global para declarar a variável.
117. FUNÇÕES - PARÂMETROS COM
VALORES PADRÃO
● É possível definir um valor padrão para os parâmetros da função.
Neste caso, quando o valor é omitido na chamada da função, a
variável assume o valor padrão.
● Ex:
119. BIBLIOTECAS
● As bibliotecas armazenam funções pré-definidas, que podem ser
utilizados em qualquer momento do programa. Em Python,
muitas bibliotecas são instaladas por padrão junto com o
programa. Para usar uma biblioteca, deve-se utilizar o comando
import.
● Ex:
120. BIBLIOTECAS
● Lista de bibliotecas padrões do Python:
○ https://docs.python.org/pt-br/3/library/
121. BIBLIOTECAS
● Uma das grandes vantagens de se programar em Python é o
grande número de bibliotecas disponíveis para inúmeras
operações diferentes.
● Muitas bibliotecas vêm instaladas no interpretador do Python
que você está usando, porém caso haja interesse, é possível
baixar outras bibliotecas que disponibilizam outras funções,
classes, entre outros. Para isso, é necessário pesquisar na
internet sobre como instalar novas bibliotecas Python no
interpretador de seu uso.
122. BIBLIOTECAS
● As seguir estão listadas algumas da bibliotecas padrões que já
vêm instaladas em seu interpretador:
○ Matemática: math, cmath, decimal e random;
○ Sistema: os, glob, shutils e subprocess;
○ Threads: threading;
○ Persistência: pickle e cPickle;
○ XML: xml.dom, xml.sax e elementTree (a partir da versão 2.5);
○ Configuração: ConfigParser e optparse;
○ Tempo: time e datetime;
○ Outros: sys, logging, traceback, types e timeit.
124. BIBLIOTECAS
● No exemplo do slide anterior foi exportada a função pyplot da
biblioteca matplotlib e esta função foi renomeada como plt.
● Neste exemplo, a primeira linha do código significa que foram
importadas todas as funções disponíveis da biblioteca math. A
seguir, foi utilizada a função cos() para o cálculo do cosseno de
zero.
>>> from math import *
>>> print('cosseno de 0: ', cos(0))
125. GITHUB
● Objetivo: Permite que duas ou mais pessoas que compartilham
um mesmo projeto possam editar arquivos existentes ou criar
novos sem arriscar que suas alterações sejam apagadas pelas
modificações de outros membros da equipe.
126. GITHUB
● GIT: Sistema distribuído de controle de versões, que permite que
os usuários acompanhem mudanças em arquivos.
● GITHUB: Plataforma que utiliza o GIT para armazenar projetos de
seus usuários na WEB. Também possibilita o compartilhamento
de projetos se tornando a maior rede social de desenvolvedores.
127. GITHUB
● Commit
São pontos dentro do histórico de edição de um projeto e são
formados por um conjunto de alterações nos arquivos. Eles
trazem uma descrição que detalha exatamente o que foi
modificado no código e um ponto para restaurar uma
determinada versão do projeto.
128. GITHUB
● Branches (ou ramificações)
Servem para que os programadores possam trabalhar em
funcionalidades maiores, que demandam mais tempo de
desenvolvimento, sem afetar a versão atual do aplicativo. O
GitHub cria uma cópia do diretório que poderá então ser
desenvolvida de maneira isolada, sem afetar o repositório
central ou outras ramificações.
Quando se finaliza o trabalho num branch, ele pode ser unido
a outras ramificações através do processo conhecido como
merge.
130. GITHUB
● Pull Request
Ao utilizar o comando Pull Request, o responsável pelo
gerenciamento do projeto receberá uma solicitação para
analisar o pedido e decidir se aceita ou não determinada
contribuição. Isso serve tanto para unir branches com o
repositório central quanto para permite que alguém copie os
arquivos para seu computador pessoal.
Muitos projetos de código aberto no GitHub usam Pull
Requests para gerenciar mudanças feitas por colaboradores,
já que essa é uma maneira fácil de notificar os gerentes dos
projetos sobre mudanças. O método também é útil para iniciar
revisões de códigos e discussões gerais sobre determinadas
mudanças antes de implementá-las no repositório central.