Variáveis

Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Variáveis

Mensagem por bernardino »

Bem-vindo à seção quatro! Esta parte se concentra nas variáveis - vamos aprender o que são, como usá-las e quais são as regras que as regem.

Variáveis - caixas em forma de dados

Parece bastante óbvio que o Python deva permitir que você codifique literais portando valores de número e texto.

Você já sabe que pode fazer algumas operações aritméticas com esses números: Adicionar, subtrair etc. Você fará isso muitas vezes.

Mas é uma pergunta normal perguntar como armazenar os resultados dessas operações, para usá-los em outras operações e assim por diante.

Como você salva os resultados intermediários e os usa novamente para produzir os subsequentes?

Python irá ajudá-lo com isso. Ele oferece "caixas" especiais (ou "contêineres", como podemos chamá-los) para essa finalidade, e essas caixas são chamadas de variáveis - o próprio nome sugere que o conteúdo desses contêineres pode ser variado (quase) de qualquer forma.

O que todas as variáveis Python têm?
  • um nome;
  • um valor (o conteúdo do contêiner)
variavel_nome.png
variavel_nome.png (37.03 KiB) Exibido 218 vezes
Vamos começar com os problemas relacionados ao nome de uma variável.

As variáveis não aparecem em um programa automaticamente. Como desenvolvedor, você deve decidir quantas variáveis e quais usar em seus programas.

Você também deve nomeá-los.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Nomes de variáveis

Se quiser dar um nome a uma variável, você deve seguir algumas regras estritas:
  • o nome da variável deve ser composto de letras maiúsculas ou minúsculas, dígitos e o caractere _ (sublinhado)
  • o nome da variável deve começar com uma letra;
  • o caractere de sublinhado é uma letra;
  • as letras maiúsculas e minúsculas são tratadas como diferentes (um pouco diferente do que no mundo real - Alice e ALICE são os mesmos nomes, mas em Python são dois nomes de variáveis diferentes e, consequentemente, duas variáveis diferentes);
  • o nome da variável não deve ser nenhuma das palavras reservadas do Python (as palavras-chave - explicaremos mais sobre isso em breve).
Observe que as mesmas restrições se aplicam a nomes de função.

O Python não impõe restrições ao comprimento dos nomes de variáveis, mas isso não significa que um nome de variável longo seja sempre melhor do que um nome curto.

Aqui estão alguns nomes de variáveis corretos, mas nem sempre convenientes:
  • MyVariable
  • i
  • l
  • t34
  • Exchange_Rate
  • counter
  • days_to_christmas
  • TheNameIsTooLongAndHardlyReadable
  • _
Esses nomes de variáveis também estão corretos:
  • Adiós_Señora
  • sûr_la_mer
  • Einbahnstraße
    [/]переменная.
O Python permite que você use não apenas letras latinas, mas também caracteres específicos de idiomas que usam outros alfabetos.

E agora, alguns nomes incorretos:
  • 10t (não começa com uma letra)
  • !important (não começa com uma letra)
  • exchange rate (contém um espaço).
Observação

O PEP 8 - Guia de Estilo para Código Python recomenda a seguinte convenção de nomenclatura para variáveis e funções em Python:
  • os nomes de variáveis devem estar em letras minúsculas, com palavras separadas por sublinhados para melhorar a legibilidade (por exemplo, var, my_variable)
  • nomes de funções seguem a mesma convenção que nomes de variáveis (por exemplo, fun, my_function)
  • também é possível usar casos mistos (por exemplo, myVariable), mas apenas em contextos onde esse já é o estilo predominante, para manter a compatibilidade com a convenção adotada.
Palavras-chave

Dê uma olhada na lista de palavras que desempenham um papel muito especial em todos os programas Python.

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Eles são chamados de palavras-chave ou (mais precisamente) palavras-chave reservadas. Eles são reservados porque você não deve usá-los como nomes: nem para suas variáveis, nem funções, nem quaisquer outras entidades nomeadas que você deseja criar.

O significado da palavra reservada é predefinido e não deve ser alterado de forma alguma.

Felizmente, devido ao fato de que o Python faz distinção entre maiúsculas e minúsculas, você pode modificar qualquer uma dessas palavras alterando a letra de qualquer letra, criando assim uma nova palavra, que não é mais reservada.

Por exemplo - você não pode nomear sua variável assim:

import

Você não deve ter uma variável chamada dessa forma - ela é proibida. Mas você pode fazer isso:

import

Essas palavras podem ser um mistério para você agora, mas você aprenderá em breve o significado delas.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Como criar variáveis

O que você pode colocar dentro de uma variável?

Qualquer coisa.

Você pode usar uma variável para armazenar qualquer valor de qualquer um dos tipos já apresentados, e muitos outros que ainda não mostramos.

O valor de uma variável é o que você coloca nela. Pode variar com a frequência desejada ou desejada. Pode ser um inteiro um momento, e um momento depois, e, se tornar uma string.

Vamos falar agora de duas coisas importantes - como as variáveis são criadas e como colocar valores dentro delas (ou melhor, como dar ou passar valores para elas).
variavel2.png
variavel2.png (48.06 KiB) Exibido 211 vezes
Lembre-se

Uma variável passa a existir como resultado da atribuição de um valor a ela. Ao contrário de outros idiomas, você não precisa declará-lo de nenhuma maneira especial.

Se você atribuir qualquer valor a uma variável inexistente, a variável será criada automaticamente. Você não precisa fazer mais nada.

A criação (ou seja, sua sintaxe) é extremamente simples: basta usar o nome da variável desejada, depois o sinal de igual (=) e o valor que deseja colocar na variável.

Dê uma olhada no snippet no editor:
var.png
var.png (8.22 KiB) Exibido 211 vezes
Consiste em duas instruções simples:
  • O primeiro deles cria uma variável chamada var e atribui um literal com um valor inteiro igual a 1.
  • O segundo imprime o valor da variável recém-criada no console.
Como você pode ver, print() tem outro lado – ele também pode manipular variáveis. Você sabe qual será a saída do snippet? Execute o código para verificar.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Como usar uma variável

Você tem permissão para usar quantas declarações de variáveis forem necessárias para atingir seu objetivo, assim:
var3.png
var3.png (15.31 KiB) Exibido 211 vezes
No entanto, você não pode usar uma variável que não existe (em outras palavras, uma variável que não recebeu um valor).

Este exemplo causará um erro:
var_erro.png
var_erro.png (16.3 KiB) Exibido 211 vezes
Você sabe por quê? Tentamos usar uma variável chamada Var, que não tem nenhum valor (nota: var e Var são entidades diferentes e não têm nada em comum no que diz respeito ao Python).

Lembre-se

Você pode usar a função print() e combinar texto e variáveis usando o operador + para gerar sequências e variáveis. Por exemplo:

Código: Selecionar todos

var = "3.8.5"
print("Versão Python: " + var)
Você consegue adivinhar a saída do snippet acima?

Resposta: Sim

Código: Selecionar todos

Versão Python: 3.8.5
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Como atribuir um novo valor a uma variável já existente

Como você atribui um novo valor a uma variável que já existe? Da mesma forma. Você só precisa usar o sinal de igual.


O sinal de igual é, na verdade, um operador de atribuição. Embora isso possa parecer estranho, o operador tem uma sintaxe simples e uma interpretação clara.

Ela atribui o valor do argumento da direita para a esquerda, enquanto o argumento da direita pode ser uma expressão arbitrariamente complexa envolvendo literais, operadores e variáveis já definidas.

Veja o código abaixo:
variavel_existe.png
variavel_existe.png (10.58 KiB) Exibido 202 vezes
O código envia duas linhas para o console:

Código: Selecionar todos

1
2
A primeira linha do trecho cria uma nova variável chamada var e atribui 1 a ela.

A instrução diz: atribua um valor de 1 a uma variável denominada var.

Podemos dizer mais curto: atribua 1 ao var.

Alguns preferem ler uma declaração como: var se torna 1.

A terceira linha atribui a mesma variável com o novo valor retirado da própria variável, somada com 1. Vendo um registro como esse, um matemático provavelmente protestaria - nenhum valor pode ser igual a si mesmo mais um. Isso é uma contradição. Mas Python trata o sinal = não como igual a, mas como atribuir um valor a.

Então, como você lê esse registro no programa?

Pegue o valor atual da variável var, adicione 1 e armazene o resultado na variável var.

Com efeito, o valor da variável var tem sido incrementado por um, o que não tem nada a ver com a comparação da variável com qualquer valor.

Você sabe qual será a saída do snippet a seguir?

Código: Selecionar todos

var = 100
var = 200 + 300
print(var)
Resposta: 500 ‒ por que? Bem, primeiro, o var variável é criada e recebe o valor 100. Em seguida, a mesma variável recebe um novo valor: o resultado da adição de 200 a 300, que é 500.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Solução de problemas matemáticos simples

Agora você deve ser capaz de construir um programa curto que resolva problemas matemáticos simples, como o teorema de Pitágoras:

O quadrado da hipotenusa é igual à soma dos quadrados dos outros dois lados.

O código a seguir avalia o comprimento da hipotenusa (ou seja, o lado mais longo de um triângulo retângular, o oposto do ângulo reto) usando o teorema de Pitágoras:

Código: Selecionar todos

a = 3.0
b = 4.0
c = (a ** 2 + b ** 2) ** 0.5
print("c =", c)
Nota: precisamos fazer uso do operador ** para avaliar a raiz quadrada como:

√ (x) = x(½)

e

c = √ a2 + b2

Você consegue adivinhar a saída do código?

Resposta: c = 5.0
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

LAB Variáveis

Cenário

Aqui está uma breve história:

Era uma vez em Appleland, John tinha três maçãs, Maria cinco maçãs e Adam tinha seis maças. Todos ficaram muito felizes e viveram por muito tempo. Fim da história.

Sua tarefa:
  • crie as variáveis: john, mary e adam;
  • atribuir valores às variáveis. Os valores devem ser iguais aos números de fruto possuído por John, Mary e Adam, respectivamente;
  • tendo armazenado os números nas variáveis, imprimindo as variáveis em uma linha e separando cada uma delas com uma vírgula;
  • Agora, crie uma nova variável chamada total_apples igual à adição das três variáveis anteriores.
    imprima o valor armazenado em total_apples no console;
  • experimente com seu código: crie novas variáveis, atribua valores diferentes a elas e execute várias operações aritméticas nelas (por exemplo, +, -, *, /, //, etc.). Tente imprimir uma sequência de caracteres e um número inteiro juntos em uma linha, por exemplo, "Número total de maças:" e total_apples.
Solução
lab_variaveis.png
lab_variaveis.png (22.73 KiB) Exibido 198 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

Operadores atalhos

É hora do próximo conjunto de operadores que facilita a vida do desenvolvedor. Frequentemente, queremos usar uma e a mesma variável nos lados direito e esquerdo do operador =.

Por exemplo, se precisamos calcular uma série de valores sucessivos de potências de 2, podemos usar uma parte como esta:

Código: Selecionar todos

x = x * 2
Você pode usar uma expressão como essa se não conseguir adormecer e estiver tentando lidar com ela usando alguns métodos bons e antiquados:

Código: Selecionar todos

sheep = sheep + 1
O Python oferece uma maneira reduzida de escrever operações como essas, que podem ser codificadas da seguinte forma:

Código: Selecionar todos

x *= 2
sheep += 1
Vamos tentar apresentar uma descrição geral para essas operações. Se op for um operador de dois argumentos (esta é uma condição muito importante) e o operador for usado no seguinte contexto...:

Código: Selecionar todos

variable = variable op expression
... então pode ser simplificado e exibido da seguinte forma:

Código: Selecionar todos

variable op= expression
Veja os exemplos abaixo. Certifique-se de entender todos eles.
operadores_atalho.png
operadores_atalho.png (13.77 KiB) Exibido 195 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

LAB Variáveis ‒ um simples conversor

Cenário


Milhas e quilômetros são unidades de comprimento ou distância.

Lembrando que 1 milha é igual a aproximadamente 1.61 quilômetros, complete o programa no editor para que converta:
  • milhas em quilômetros;
  • quilômetros em milhas.
Não altere nada no código atual. Escreva seu código nos locais indicados por ###. Teste seu programa com os dados que fornecemos no código-fonte.

Preste atenção especial ao que está acontecendo na função de print(). Analise como fornecemos multiplos argumentos para a função e como produzimos os dados esperados.

Observe que alguns dos argumentos dentro da função print() são strings (por exemplo, "milhas é", enquanto outros são variáveis (por exemplo, miles).

Dica

Há mais uma coisa interessante acontecendo lá. Você pode ver outra função dentro da função print()? É a função round(). Seu trabalho é arredondar o resultado de saída para o número de casas decimais especificadas entre parênteses e retornar um float (dentro da função round() você pode encontrar o nome da variável, uma vírgula e o número de casas decimais que pretendemos por). Falaremos sobre funções muito em breve, então não se preocupe que tudo pode não estar totalmente claro ainda. Só queremos despertar a sua curiosidade.

Depois de concluir o laboratório, abra o Sandbox e experimente um pouco mais. Tente escrever conversores diferentes, por exemplo, um conversor de USD para EUR, um conversor de temperatura, etc. - deixe sua imaginação voar! Tente gerar os resultados combinando strings e variáveis. Tente usar e experimentar a função round() para arredondar seus resultados para uma, duas ou três casas decimais. Confira o que acontece se você não fornecer qualquer número de dígitos. Lembre-se de testar seus programas.

Experimente, tire conclusões e aprenda. Seja curioso.

Saída esperada

Código: Selecionar todos

7.38 milhas é 11.88 quilômetros
12.25 quilômetros é 7.61 milhas

Código: Selecionar todos

kilometers = 12.25
miles = 7.38

miles_to_kilometers = ###
kilometers_to_miles = ###

print(miles, "milhas é", round(miles_to_kilometers, 2), "quilômetros")
print(kilometers, "quilômetros é", round(kilometers_to_miles, 2), "milhas")
Solução

Código: Selecionar todos

kilometers = 12.25
miles = 7.38

miles_to_kilometers = miles * 1.61
kilometers_to_miles = kilometers / 1.61

print(miles, "milhas é", round(miles_to_kilometers, 2), "quilômetros")
print(kilometers, "quilômetros é", round(kilometers_to_miles, 2), "milhas")
um_simples_conversor.png
um_simples_conversor.png (25.3 KiB) Exibido 195 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 802
Registrado em: 28 Ago 2020, 15:11

Re: Variáveis

Mensagem por bernardino »

LAB Operadores e Expressões

Cenário

Dê uma olhada no código no editor: ele lê um valor float, coloca-o em uma variável chamada x e imprime o valor de uma variável chamada y. Sua tarefa é completar o código para avaliar a seguinte expressão:

3x3 - 2x2 + 3x - 1

O resultado deve ser atribuído a y.

Lembre-se de que a notação algébricas clássica gosta de omitir o operador de multiplicação - você precisa usá-la explicitamente. Observe como mudamos o tipo de dados para garantir que x seja do tipo float.

Mantenha seu código limpo e legível e teste-o usando os dados que fornecemos, atribuindo-o sempre à variável x (codificando-o). Não desanime por qualquer falha inicial. Seja persistente e inquisitivo.

Exemplo de entrada
x = 0
x = 1
x = -1

Exemplo de saída
y = -1.0
y = 3.0
y = -9.0
operadores_expressao.png
operadores_expressao.png (23.47 KiB) Exibido 193 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Responder