Informática

Noções de programação em Python e R

5 min de leituraPodcast13 questões

Cai no edital de Agente PF, Escrivão PF, Papiloscopista PF, Receita Federal, Receita Federal

Para revisar

Resumo

Python e R são linguagens interpretadas, de tipagem dinâmica, muito usadas em análise de dados. Python é de propósito geral; R nasceu para estatística. A prova mostra trechos curtos e pede a saída.

  • Tipagem dinâmica: o tipo vem do valor; não se declara.
  • Python: blocos por indentação; índice começa em 0.
  • Coleções Python: lista (mutável), tupla (imutável), dicionário e conjunto.
  • Operadores Python: / divide com resultado real; // dá o quociente inteiro; % dá o resto.
  • R: atribuição com <-; índice começa em 1; operações vetorizadas.
  • Bibliotecas: pandas e NumPy em Python; ggplot2 e dplyr em R.

Entenda

Características comuns

As duas linguagens são interpretadas: o código roda linha a linha, sem etapa separada de compilação. A tipagem é dinâmica: a variável assume o tipo do valor atribuído e pode mudar de tipo depois. Comentário de linha começa com # nas duas.

Ex.: em Python, x = 5 cria um inteiro; depois, x = "PF" faz a mesma variável guardar um texto. Não há declaração de tipo.

Python: sintaxe e tipos

A indentação faz parte da sintaxe e delimita os blocos; não há chaves. Tipos básicos: int, float, str, bool (True e False) e None. Atribuição usa =; comparação de igualdade usa ==.

Ex.:

idade = 20
if idade >= 18:
    print("maior")   # bloco definido pela indentação
else:
    print("menor")

Python: coleções

ColeçãoEscritaCaracterística
Lista[1, 2, 3]Mutável e ordenada
Tupla(1, 2, 3)Imutável
Dicionário{"uf": "DF"}Pares chave-valor
Conjunto{1, 2}Sem elementos repetidos

Strings também são imutáveis. len(x) dá o tamanho; x.append(v) acrescenta ao fim da lista.

Ex.: t = (1, 2) seguido de t[0] = 5 gera erro, porque a tupla é imutável. Com a lista x = [1, 2], x[0] = 5 funciona.

Python: índices e fatias

O primeiro elemento tem índice 0. Índice negativo conta a partir do fim: x[-1] é o último. A fatia x[i:j] vai da posição i até a j − 1: o fim é exclusivo.

Ex.: x = [10, 20, 30]: x[0] é 10, x[1] é 20 e x[-1] é 30. Com x = [1, 2, 3, 4], x[1:3] retorna [2, 3].

Python: operadores e laços

  • / divide e devolve número real: 7 / 2 é 3.5.
  • // dá o quociente inteiro: 7 // 2 é 3.
  • % dá o resto: 7 % 2 é 1.
  • ** é potência: 2 ** 3 é 8.
  • range(n) gera de 0 a n − 1; range(a, b) gera de a até b − 1.
  • for percorre uma sequência; while repete enquanto a condição for verdadeira; funções são definidas com def.

Ex.:

total = 0
for i in range(1, 4):   # 1, 2, 3
    total += i
print(total)            # 6

R: sintaxe e estruturas

A atribuição usual é <- (o = também funciona). Blocos ficam entre chaves. O vetor é criado com c(), e o primeiro índice é 1. As operações são vetorizadas: valem para todos os elementos de uma vez. Estruturas: vetor, matriz, lista, fator e data.frame (tabela). Valor ausente é NA.

Ex.: x <- c(10, 20, 30): x[1] retorna 10. c(1, 2, 3) * 2 retorna 2, 4 e 6, sem laço.

Bibliotecas e ambientes

  • Python: pandas (tabelas em DataFrame), NumPy (vetores e matrizes), Matplotlib (gráficos), scikit-learn (aprendizado de máquina).
  • R: funções estatísticas nativas (mean, sd, summary, lm para regressão); pacotes do CRAN, instalados com install.packages, como ggplot2 (gráficos) e dplyr (manipulação de dados).
  • Ambientes: Jupyter Notebook (Python e R) e RStudio (R).

Ex.: import pandas as pd e df = pd.read_csv("dados.csv") carregam um arquivo CSV em um DataFrame. Em R, mean(c(2, 4, 6)) retorna 4.

Quadro

PontoPythonR
Primeiro índice01
Atribuição=<-
BlocosIndentaçãoChaves {}
Tabela de dadosDataFrame do pandasdata.frame nativo
Valor ausenteNone ou NaNNA
OrigemPropósito geralEstatística

Como a banca cobra

  • "Em Python, após x = [10, 20, 30], a instrução print(x[1]) exibe 10." → errado (exibe 20; o índice começa em 0).
  • "Em R, após x <- c(10, 20, 30), a expressão x[1] retorna 10." → certo (em R o índice começa em 1).
  • "Em Python, a expressão 7 // 2 resulta em 3." → certo (quociente inteiro).
  • "Em Python, o operador / aplicado a 7 e 2 produz o valor inteiro 3." → errado (produz 3.5).
  • "Em Python, as tuplas são mutáveis e as listas, imutáveis." → errado (é o inverso).
  • "Em Python, range(5) gera os números de 1 a 5." → errado (gera de 0 a 4).
  • "Em Python, após x = [1, 2, 3, 4], a expressão x[1:3] retorna [2, 3]." → certo (posições 1 e 2; o fim é exclusivo).
  • "Python exige a declaração explícita do tipo de cada variável antes do uso." → errado (tipagem dinâmica).
  • "Em R, a expressão c(1, 2, 3) * 2 resulta em 2, 4 e 6." → certo (operação vetorizada).
  • Detalhe que derruba o item: o ponto de partida da contagem. Python começa em 0 e exclui o fim de range e das fatias; R começa em 1. Antes de julgar a saída, confira qual é a linguagem.

Revisão rápida

  1. Qual o primeiro índice em Python?Revelar

    Zero.

  2. Qual o primeiro índice em R?Revelar

    Um.

  3. O que delimita blocos em Python?Revelar

    A indentação.

  4. Lista e tupla: qual é mutável?Revelar

    A lista; a tupla é imutável.

  5. Quanto vale 7 // 2 em Python?Revelar
  6. O que range(5) gera?Revelar

    Os números de 0 a 4.

  7. Qual o operador usual de atribuição em R?Revelar

    <-.

  8. Que biblioteca Python trabalha com tabelas?Revelar

    pandas.

Referência

Mapa mental

  • Em comum
    • Interpretadas, tipagem dinâmica
    • Usadas em análise de dados
  • Python
    • Indentação define blocos
    • Índice começa em 0
    • Lista mutável, tupla imutável
    • Dicionário chave-valor, conjunto sem repetição
    • range(5): 0 a 4
  • R
    • Atribuição com <-
    • Índice começa em 1
    • Vetor c(), data.frame nativo
    • Operações vetorizadas
  • Bibliotecas
    • Python: pandas, NumPy, scikit-learn
    • R: ggplot2, dplyr
  • ⚠️ Pegadinha
    • Fatia [1:3] exclui o fim

Estude Agente PF no app

Grátis, sem cartão

Começar, é grátis

Estude este tópico no app

Grátis, sem cartão. Tudo do PRO liberado.

Criar conta grátis