Aulas do bloco

← Todas as aulas
Projeto de Blocoaula 305/08/20261h30

Variáveis, operadores e boas práticas de Python no DeepNote

Retoma variáveis, atribuição, operadores e boas práticas já vistos em Python e acrescenta Markdown, kernel/persistência do notebook e operadores compostos; as demonstrações de divisão inteira/resto e do contador i += 1 são o trecho novo e reproduzível, além do aviso do live code de teste da semana seguinte.

Para revisar rápido

Resumo da aula

8 pontos
  • A aula reforçou a primeira competência de Python: variáveis, atribuição, operadores e boas práticas, no DeepNote.

  • No DeepNote, não se edita o TP original: use Duplicate Project e evite pedir acesso.

  • Notebook .ipynb mistura texto, código e SQL; Markdown formata o texto dos notebooks.

  • `=` atribui valor; Python é case sensitive; variável é uma etiqueta para um valor na memória.

  • Nomes de variáveis: snake_case, descritivos, sem acentos, sem espaços e sem começar com número.

  • Operadores: + - * /, // divisão inteira, % resto e ** potência; raiz é expoente fracionário.

  • / sempre devolve float; // devolve int; i += 1 é o atalho para incrementar contador.

  • Semana que vem: aula de live coding com teste sem nota; entregas do bloco devem ser no DeepNote.

Avisos administrativos — 6 recados sobre prazos, regras e funcionamento do curso
  • 00:00:55 A presença obrigatória no live é uma regra nova deste ano.
  • 00:10:39 Não peça acesso de edição ao TP no DeepNote: não será dado. Use Duplicate Project para criar sua cópia.
  • 00:02:40 Na semana que vem a aula será sobre live coding; será enviado um live code de teste que não vale ponto.
  • 00:31:34 Entregas devem ser feitas no DeepNote, não no Colab, para padronizar a correção.
  • 00:13:17 Orientação acadêmica: no bloco de entrada a ideia é usar menos IA; ao longo da faculdade, uso de IA deve ser referenciado, não escondido.
  • 00:46:02 No TP1, cuidado: variáveis de exercícios anteriores continuam no notebook; resete o kernel se precisar limpar.
Perguntas de aluno — 4 perguntas respondidas na gravação

Daniel pediu mais um exemplo de resto de divisão. 01:08:44 Com 128 balas em saquinhos de 12: 128 // 12 = 10 saquinhos e 128 % 12 = 8 balas sobram.

Alexandre perguntou sobre radiciação. 01:13:08 Raiz é um expoente fracionário: raiz quadrada = **0.5, raiz cúbica = **(1/3) e raiz oitava = **(1/8).

No chat, perguntaram se seria ruim usar kebab case em outra linguagem. 00:53:47 Não: cada linguagem tem sua convenção; em Python o padrão é snake_case, mas o importante é manter consistência.

Daniel comentou que o contador seria usado nos ifs. 01:24:04 O contador pode aparecer em if, mas é mais comum em for, que é um loop; o += também participa de if.

Trechos que valem reouvir — 6 momentos que mais rendem uma segunda escuta
  • 00:10:39 — Regra do TP no DeepNote: usar Duplicate Project e não pedir acesso de edição.
  • 00:39:52 — Variável como etiqueta de memória e o erro de chamar variável não atribuída.
  • 00:42:52 — Case sensitivity com exemplos na tela e a mensagem de erro de variável não definida.
  • 00:32:46 — Markdown na tela: títulos, negrito, listas e separador.
  • 01:02:20 — Diferença entre divisão comum, divisão inteira e resto, com float vs int.
  • 01:19:59 — Contador i = i + 1 evoluindo a cada execução e o atalho i += 1.

Glossário da aula

Conceitos

Algoritmo (receita de bolo)

00:15:25

É uma sequência de passos bem definidos com entrada, processamento e saída, como uma receita de bolo, usada para dizer ao computador o que fazer.

Programa determinista

00:16:25

É um programa com passos exatos e previsíveis. Rodar o mesmo código dez mil vezes gera dez mil vezes o mesmo resultado, o que garante repetibilidade.

Execução literal pelo computador

00:18:06

É a forma literal como o computador executa instruções, sem adivinhar intenções. Por isso o código precisa ser explícito e detalhado para funcionar como esperado.

DeepNote

00:10:36

É uma plataforma de notebooks em nuvem usada na disciplina. Permite que todos programem no mesmo ambiente sem precisar instalar Python no computador.

Jupyter Notebook (.ipynb)

00:22:58

É um arquivo de caderno com extensão .ipynb. Reúne células de texto, código e SQL no mesmo documento, diferente de um script único .py.

Células do notebook

00:23:09

São blocos do notebook que podem ser de texto, código ou SQL. Cada bloco pode ser executado de forma separada para testar partes do projeto.

Duplicate Project (DeepNote)

00:11:27

É a função que cria uma cópia editável do projeto para você. É usada para trabalhar no TP sem precisar de permissão de edição do original.

É uma ferramenta de notebooks da Google parecida com o DeepNote. Serve para programar em nuvem, mas não oferece células de SQL nativas.

Células de SQL no DeepNote

00:30:55

São células que executam SQL diretamente no DeepNote sem instalar bibliotecas. São um diferencial da plataforma e serão usadas na parte de dados.

Markdown

00:32:00

É uma linguagem de marcação leve para formatar texto. É usada em notebooks e READMEs para criar títulos, negrito, listas e tabelas.

Cabeçalhos no Markdown

00:32:48

São títulos criados com um a quatro símbolos de jogo da velha. Servem para organizar o texto em título, subtítulo, seção e subseção no documento.

Negrito e itálico no Markdown

00:33:27

São formatações de texto feitas com asteriscos. Usa-se dois asteriscos para negrito, um para itálico e três para aplicar os dois juntos.

Riscado no Markdown

00:33:57

É a formatação que deixa o texto riscado. É feita colocando dois tis antes e depois do texto para riscá-lo.

Código inline no Markdown

00:34:11

É a formatação que deixa um trecho com aparência de código. É usada envolvendo o texto com crases para destacá-lo no meio da frase.

Listas no Markdown

00:34:59

São listas criadas com traço ou asterisco para itens sem ordem e com números e ponto para itens ordenados. O Markdown renumera os itens ordenados sozinho.

Linha horizontal no Markdown

00:35:37

É um separador visual de seções criado com três hífens. É usada para dividir partes do texto no documento.

README.md

00:35:50

É o arquivo que descreve um projeto no GitHub. Usa extensão .md e formatação Markdown para explicar o conteúdo do repositório.

Atribuição com =

00:38:36

É o sinal de igual usado em Python para atribuir um valor a uma variável. Não indica igualdade matemática, que será representada por ==.

Igualdade ==

00:39:15

É o operador que pergunta se um valor é igual a outro. Será visto nas próximas semanas, enquanto agora = serve apenas para atribuir.

Variável

00:39:52

É uma etiqueta que aponta para um valor guardado em um espaço da memória. Serve para guardar e reutilizar dados ao longo do programa.

print()

00:40:02

É a função que mostra valores na saída do programa. Aceita texto e variáveis na mesma chamada e insere um espaço automático entre eles.

Case sensitive

00:42:52

É a característica do Python de diferenciar letras maiúsculas e minúsculas. Por isso prof, Prof e PROF são tratadas como variáveis diferentes.

Persistência de variáveis no notebook

00:45:37

É o comportamento do notebook de manter variáveis existentes entre células. Editar uma célula não apaga valores que já foram atribuídos antes.

Kernel do notebook

00:46:29

É a memória do notebook que guarda todas as variáveis em uso. Reiniciar o kernel apaga todas as variáveis guardadas e limpa o estado.

Inferência de tipo no Python

00:21:59

É o recurso do Python de identificar o tipo da variável pelo valor atribuído. Assim não é preciso declarar int, float ou outros tipos antes.

Snake Case

00:49:13

É a convenção do Python de escrever nomes em minúsculas separados por underline. Exemplos são nome_completo e total_de_vendas para facilitar a leitura.

camelCase

00:50:23

É a convenção que junta palavras usando maiúsculas no meio da palavra. Forma as corcovas de camelo e não é o padrão do Python.

Kebab Case

00:51:25

É a convenção que separa palavras com hífen, como espetinhos. Não é usada como padrão no Python para nomes de variáveis.

Convenção de nomenclatura

00:51:55

É o acordo de manter uma única forma de escrever nomes no código. Não é obrigatória para rodar, mas facilita ler e evoluir o programa.

Nomes descritivos de variáveis

00:54:30

São nomes como altura, base e total usados em vez de a, b e c. Ajudam a entender o código, principalmente em programas com milhares de linhas.

Evitar acentos e cedilha em nomes

00:57:20

É a recomendação de não usar acentos ou cedilha em nomes de variáveis. O Python aceita, mas outras linguagens ou versões podem não aceitar.

Variável começando com número

00:58:00

É uma forma inválida de nomear variável que começa com dígito. O interpretador entende como número e gera erro, mas números depois da primeira letra são permitidos.

Espaços em nomes de variável

00:59:30

É o uso inválido de espaço dentro do nome da variável. O Python entende que o nome terminou, por isso deve-se usar underline no lugar.

Indentação (mencionada)

00:59:21

É o espaço no início da linha que será usado com if e else. Nome de variável não pode começar com espaço porque seria confundido com indentação.

Operadores aritméticos básicos

01:00:07

São os operadores de soma (+), subtração (-), multiplicação (*) e divisão (/). Servem para fazer cálculos matemáticos básicos no código.

Divisão inteira (//)

01:02:20

É o operador // que calcula quantas vezes o divisor cabe inteiro no dividendo. Com inteiros o resultado é inteiro, como em 128 // 12 = 10.

Resto da divisão (%)

01:07:27

É o operador % que devolve o que sobra após a divisão inteira. É usado para obter o resto, como em 128 % 12 = 8.

Divisão / sempre retorna float

01:03:54

É o comportamento da divisão com / que sempre devolve float. Mesmo 30 / 3 resulta em 10.0, enquanto 30 // 3 resulta em 10 inteiro.

Contador (i = i + 1)

01:18:06

É o padrão de contagem que lê o valor atual de i, soma 1 e guarda de volta na mesma variável. Serve para incrementar contadores no programa.

Operadores de atribuição compostos

01:24:49

São atalhos como +=, -=, *= e /= que aplicam a operação e reatribuem o resultado. Por exemplo, i += 1 equivale a fazer i = i + 1.