SlideShare uma empresa Scribd logo
1 de 131
Baixar para ler offline
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. . .
PYTHON - INTRODUÇÃO
● Exemplos de aplicações:
○ Bittorrent;
○ Django;
○ Dropbox...
PYTHON - INTRODUÇÃO
● Exemplos de aplicações:
○ Estudo sobre erupções solares:
PYTHON - INTRODUÇÃO
● Exemplos de aplicações:
○ Estudo sobre erupções solares:
PYTHON - INTRODUÇÃO
● Exemplos de aplicações:
○ The Sims 4:
PYTHON - INTRODUÇÃO
● Criada por Guido Van Rossum em 1991:
● Alto nível;
PYTHON - INTRODUÇÃO
● Interpretada:
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
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())
PYTHON - INTRODUÇÃO
● Portabilidade:,
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.
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;
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:
COMENTÁRIOS
● Exemplos:
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
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:
NOMECLATURA DE VARIÁVEIS
● Ex:
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:
TIPOS NUMÉRICOS
● O python aceita os seguintes tipos numéricos:
○ Inteiro: int;
■ Ex: 4, 56, -90.
○ Real: float, complex;
■ Ex: 0.78, 90.45, 0, 3, -8.93
○ Caracter: string;
■ Ex: ‘josé’, “josé”, ‘a’, ‘789’
○ Lógico: bool.
■ Ex; True, False
OPERADORES ARITMÉTICOS
Operador Descrição Exemplo
+ Soma 5 + 5 = 10
- Subtração 7 – 2 = 5
* Multiplicação 2 * 2 = 4
/ Divisão real (fracionada) 4 / 2 = 2.0
// Parte inteira da divisão 10 // 3 = 3
% Resto da divisão 10 % 3 = 1
** Potência 4 ** 2 = 16
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
OPERADORES LÓGICOS
Operador Descrição Exemplo
Not NÃO not a
And E (a <=10) and (c = 5)
Or OU (a <=10) or (c = 5)
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
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....'
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:
ATRIBUIÇÃO DE VALORES
● Também podemos atribuir expressões a uma variável:
● Ex:
ATRIBUIÇÃO DE EXPRESSÃO DE
FORMA RESUMIDA
● Outra forma de somar e multiplicar na variável:
● Ex:
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
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
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”
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:
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:
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.
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
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
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.
SAÍDA DE DADOS
● Símbolos utilizados para interpolação de strings:
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%
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
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
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:
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.
STRINGS
● Concatenação: Para concatenar (unir) duas ou mais strings,
utiliza-se o operador +.
● Ex:
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
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'
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']
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'
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'
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.
FATIAMENTO DE STRING
Ex 1:
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!'
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'
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'
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'
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'
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'
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'>
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.
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>
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)
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!
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.')
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 >
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
FUNÇÃO RANGE()
● Ex:
LAÇO - FOR
● Ex 1: Imprimir a seguinte sequência: 0, 1, 2, 3, 4
for i in range(5):
print(i)
LAÇO - FOR
● Ex 2:
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).
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)
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
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>
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
LAÇO - WHILE
● Ex 2:
LAÇO - WHILE
● Ex 3: Faça a soma de 5 valores digitados pelo usuário
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
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.
ESTRUTURAS DE DADOS
● Exemplo de LISTA:
ESTRUTURAS DE DADOS
● Operações Básicas:
○ Inclusão (inserção);
○ Alteração;
○ Exclusão (deletar);
○ Listagem (pesquisa).
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.
LISTAS
● Ex:
LISTA VAZIA
● É possível criar uma lista vazia a partir dos seguintes códigos:
lista = []
lista = list()
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:
LISTAS
● A tentativa de acesso a um índice inexistente resultará em erro.
● Ex:
REMOVENDO ELEMENTOS DA LISTAS
● Devido à lista ser uma estrutura mutável, é possível remover
seus elementos utilizando o comando del:
● Ex:
CONCATENANDO LISTAS
● O operador + concatena listas:
● Ex:
● O operador * repete a lista dado um número de vezes:
● Ex:
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]
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]
FATIAMENTO DE LISTAS
● Semelhante ao fatiamento de strings.
● Ex:
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
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)
TUPLAS
● Ex:
TUPLAS
● Uma ferramenta muito utilizada em tuplas é o
desempacotamento, que permite atribuir os elementos
armazenados em uma tupla a diversas variáveis.
● Ex:
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.
TUPLAS
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}
DICIONÁRIOS
● Exemplo 1:
DICIONÁRIOS
● Exemplo 2:
DICIONÁRIOS
● Os dicionários são mutáveis, pois os valores em si são mutáveis,
exceto as chaves.
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.
DICIONÁRIOS
● Na tabela a seguir são apresentados alguns comandos para a
manipulação de dicionários.
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')
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
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
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
DICIONÁRIO VAZIO
● Esta é a forma de criação de um dicionário vazio:
nome_da_variavel = {}
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>
FUNÇÕES
● Ex:
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.
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
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:
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:
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.
FUNÇÕES - ESCOPO DE VARIÁVEIS
● Ex:
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.
FUNÇÕES - ESCOPO DE VARIÁVEIS
● Ex:
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:
FUNÇÕES - PARÂMETROS COM
VALORES PADRÃO
● Ex 2:
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:
BIBLIOTECAS
● Lista de bibliotecas padrões do Python:
○ https://docs.python.org/pt-br/3/library/
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.
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.
BIBLIOTECAS
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))
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.
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.
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.
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.
GITHUB
● Branches (ou ramificações)
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.
GITHUB
● Fork
Faz a cópia de um projeto que já existe.

Mais conteúdo relacionado

Semelhante a Python introdução a linguagem de programação

Semelhante a Python introdução a linguagem de programação (20)

Aula 6 pc - slides
Aula 6   pc - slidesAula 6   pc - slides
Aula 6 pc - slides
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Cap 2
Cap 2Cap 2
Cap 2
 
Cap 2
Cap 2Cap 2
Cap 2
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Introducao ao python
Introducao ao pythonIntroducao ao python
Introducao ao python
 
Ud3
Ud3Ud3
Ud3
 
Java2
Java2Java2
Java2
 
Python
PythonPython
Python
 
Aula02
Aula02Aula02
Aula02
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Comandos em python
Comandos em pythonComandos em python
Comandos em python
 
Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2
 
Java
JavaJava
Java
 
Java - Aula 08
Java - Aula 08Java - Aula 08
Java - Aula 08
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 

Python introdução a linguagem de programação

  • 1.
  • 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. . .
  • 3. PYTHON - INTRODUÇÃO ● Exemplos de aplicações: ○ Bittorrent; ○ Django; ○ Dropbox...
  • 4. PYTHON - INTRODUÇÃO ● Exemplos de aplicações: ○ Estudo sobre erupções solares:
  • 5. PYTHON - INTRODUÇÃO ● Exemplos de aplicações: ○ Estudo sobre erupções solares:
  • 6. PYTHON - INTRODUÇÃO ● Exemplos de aplicações: ○ The Sims 4:
  • 7. PYTHON - INTRODUÇÃO ● Criada por Guido Van Rossum em 1991: ● Alto nível;
  • 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())
  • 11. PYTHON - INTRODUÇÃO ● Portabilidade:,
  • 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:
  • 20. TIPOS NUMÉRICOS ● O python aceita os seguintes tipos numéricos: ○ Inteiro: int; ■ Ex: 4, 56, -90. ○ Real: float, complex; ■ Ex: 0.78, 90.45, 0, 3, -8.93 ○ Caracter: string; ■ Ex: ‘josé’, “josé”, ‘a’, ‘789’ ○ Lógico: bool. ■ Ex; True, False
  • 21. OPERADORES ARITMÉTICOS Operador Descrição Exemplo + Soma 5 + 5 = 10 - Subtração 7 – 2 = 5 * Multiplicação 2 * 2 = 4 / Divisão real (fracionada) 4 / 2 = 2.0 // Parte inteira da divisão 10 // 3 = 3 % Resto da divisão 10 % 3 = 1 ** Potência 4 ** 2 = 16
  • 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
  • 23. OPERADORES LÓGICOS Operador Descrição Exemplo Not NÃO not a And E (a <=10) and (c = 5) Or OU (a <=10) or (c = 5)
  • 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:
  • 27. ATRIBUIÇÃO DE VALORES ● Também podemos atribuir expressões a uma variável: ● 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.
  • 44. STRINGS ● Concatenação: Para concatenar (unir) duas ou mais strings, utiliza-se o operador +. ● Ex:
  • 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
  • 67. LAÇO - FOR ● Ex 1: Imprimir a seguinte sequência: 0, 1, 2, 3, 4 for i in range(5): print(i)
  • 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.
  • 78. ESTRUTURAS DE DADOS ● Exemplo de LISTA:
  • 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:
  • 84. LISTAS ● A tentativa de acesso a um índice inexistente resultará em erro. ● 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]
  • 89. FATIAMENTO DE LISTAS ● Semelhante ao fatiamento de strings. ● Ex:
  • 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}
  • 99. DICIONÁRIOS ● Os dicionários são mutáveis, pois os valores em si são mutáveis, exceto as chaves.
  • 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
  • 106. DICIONÁRIO VAZIO ● Esta é a forma de criação de um dicionário vazio: nome_da_variavel = {}
  • 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.
  • 114. FUNÇÕES - ESCOPO DE VARIÁVEIS ● Ex:
  • 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.
  • 116. FUNÇÕES - ESCOPO DE VARIÁVEIS ● Ex:
  • 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:
  • 118. FUNÇÕES - PARÂMETROS COM VALORES PADRÃO ● Ex 2:
  • 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.
  • 129. GITHUB ● Branches (ou ramificações)
  • 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.
  • 131. GITHUB ● Fork Faz a cópia de um projeto que já existe.