Semana03 Python
Semana03 Python
Semana03 Python
Todos os novos funcionários da Facedata são obrigados a passar pela adaptação e a parte
mais interessante é um curso intensivo de Python. Este não será um tutorial abrangente
mas que pretende destacar as partes da linguagem que serão mais importantes para
desenvolver nosso trabalho.
##Considerações Iniciais
Algumas premissas importantes sobre estética em linguagens de programação em geral
são:
• Bonito é melhor que feio.
• Não use acentos: Este é campo nebuloso e não vamos entrar muito em detalhes.
Cada computador, dependendo da forma em que está configurado, pode entender a
palavra benção como bênção ou como b�n��o, por exemplo. Opte por bencao;
2.0
6 - 3
6 * 3
18
6 / 3
2.0
-114
b = 6 - 3
c = 6 * 3
d = 6 / 3
9
3
Podemos ainda realizar operações quando os objetos (ou as variáveis) são do mesmo tipo.
Ou seja, aqui ainda estamos tratando somente de números. Então, podemos fazer contas
diretamente:
print(a + b)
print(3 * b)
print(3 * a + 2 * b + 5 * c + 4 * d)
12
9
131.0
###Tipos
####Numéricos
Quando tratamos de números no Python, internamente a máquina pode entendê-los de
duas formas:
• float: Formato numérico com casas decimais. Ex.: 1 é entendido pelo computador
como 1.00000000...;
• int: Formato numérico sem casas decimais (inteiros). Ex.: 3.145 é entendido pelo
computador como 3.
a = float(29/5)
b = int(4.5)
c = int(3.9)
print(a)
print(b)
print(c)
5.8
4
3
Cuidado ao somar esses 2 tipos:
print(a + b)
type(a + b)
9.8
float
####Alfanuméricos
O Python é muito poderoso e consegue lidar com outros tipos de dados além dos números.
Temos disponíveis operadores booleanos. Os valores do tipo bool podem representar dois
valores completamente distintos: True (igual ao int 1) e False (igual ao int 0) para,
respectivamente, verdadeiro e falso:
operador_bool_verdadeiro = True
operador_bool_falso = False
Note que a primeira letra é maiúscula! Ortografias distintas não são permitidas.
a = 3
b = 5
print(a > b)
print(a == (b - 2))
print((a * 5) != (b * 3))
False
True
False
Não confunda:
• = (símbolo de atribuição);
• == (símbolo de igualdade).
Por fim, temos o tipo string e é com ele que tratamos texto delimitando por aspas simples
ou duplas (mas as aspas devem corresponder):
string_aspas_simples = 'ciencia de dados'
string_aspas_duplas = "ciencia de dados"
print(string_aspas_simples)
print(string_aspas_duplas)
ciencia de dados
ciencia de dados
----------------------------------------------------------------------
-----
TypeError Traceback (most recent call
last)
<ipython-input-8-cad7b03c3c4c> in <module>
3 idade = 43
4
----> 5 print(nome + sobrenome + idade)
Quando os tipos não são os mesmo, devemos usar o seguinte comando para correta
impressão:
print(f"Nome completo: {nome} {sobrenome}. Idade: {idade}")
###Documentação
Fazemos a documentação diretamente no código utilizando comentários. Assim, nosso
código fica mais legível para outros humanos. Além disso, os comentários também são úteis
para fazer com que o computador não leia determinado bloco durante um teste, por
exemplo. Em Python, os comentários são simbolizados pelo símbolo ¿ e se estende até o fim
de cada linha. Vamos documentar os blocos anteriores:
# Nome do cliente
nome = 'Dino'
# Sobrenome do cliente
sobrenome = "da Silva Sauro"
# Idade do cliente
idade = 43 # valor numerico
###Funções
Uma função é uma regra que recebe entradas (que são chamadas de argumentos) e
retorna uma saída correspondente. Embora não tenhamos mencionado, mas já utilizamos
duas funções, são elas print e type. Mas podemos definir novas funções em Python
usando def:
# Funcao que calcula o dobro de um numero
def dobro(x):
"""Insira aqui um texto documental (opcional) que
explique o que a funcao faz. Por exemplo, esta funcao multiplica
sua
entrada por 2.
"""
return x * 2
10
-10
1.0
# Teste
salario_anual(2500)
Os argumentos de uma função podem receber padrões que só precisam ser especificados
quando você deseja um valor diferente do padrão estabelecido:
# Funcao que escreve o nome completo do cliente
def nome_completo(nome = "Nome", sobrenome = "Sobrenome"):
return nome + " " + sobrenome
# Testes
print(nome_completo('Dino', 'da Silva Sauro')) # 'Dino da Silva Sauro'
print(nome_completo(sobrenome = 'da Silva Sauro', nome = 'Dino')) #
'Dino da Silva Sauro'
print(nome_completo('Dino')) # "Dino Sobrenome"
print(nome_completo(sobrenome = 'da Silva Sauro')) # "Nome da Silva
Sauro"
Dino da Silva Sauro
Dino da Silva Sauro
Dino Sobrenome
Nome da Silva Sauro