Imagem do Curso gratuito Python do Zero ao Avançado

Curso online gratuitoPython do Zero ao Avançado

Duração do curso online: 28 horas e 22 minutos

Novo

Curso online gratuito de Python do básico ao avançado, com prática em lógica, funções, arquivos, SQLite, Tkinter e Pygame para criar projetos.

Neste curso gratuito, aprenda sobre

  • Preparação do Ambiente (Windows e Linux)
  • Fundamentos de Programação e Tipos Básicos
  • Estruturas de Dados com Listas e Tuplas
  • Controle de Fluxo e Entrada de Dados
  • Funções e Modularização do Código
  • Exercícios Práticos de Revisão (Parte 1)
  • Programação Orientada a Objetos (Classes, Atributos e Herança)
  • Arquivos, Exceções e Banco de Dados (SQLite)
  • Distribuição de Aplicações (Executável)
  • Interfaces Gráficas com Tkinter (Projeto do Joguinho)
  • Desenvolvimento de Jogos com Pygame (Space Invaders do Zero)

Descrição do curso

Python do Zero ao Avançado é um curso online gratuito da área de Tecnologia, Informática e Programação, ideal para quem quer sair do básico e evoluir até conceitos mais avançados da linguagem Python com uma trilha prática e progressiva.

Você começa preparando o ambiente de desenvolvimento e entendendo os fundamentos de lógica e estrutura do código. Em seguida, aprende a trabalhar com variáveis, strings e números, além de organizar e manipular coleções como listas, tuplas e dicionários. O conteúdo avança para estruturas de decisão e repetição, permitindo criar programas com fluxo bem definido e mais autonomia para resolver problemas.

Ao longo do curso, você desenvolve raciocínio de programação com funções, parâmetros, retornos e reutilização de código, além de aprender a importar módulos e estruturar melhor seus projetos. Também são abordados temas essenciais para construir aplicações mais robustas, como tratamento de erros e manipulação de arquivos, além de introdução a banco de dados com SQLite.

Na parte mais aplicada, o curso conduz à criação de aplicações com interface gráfica usando Tkinter e aprofunda a prática com projetos que ajudam a consolidar o aprendizado. Para quem quer explorar programação de jogos, há um caminho prático com Pygame, trabalhando movimentação, eventos, colisões, pontuação, níveis e refinamento do código, culminando em um projeto mais completo e estruturado.

Com uma abordagem orientada à prática e à evolução gradual, o curso é uma boa escolha para iniciantes e para quem deseja reforçar fundamentos e ganhar confiança para criar scripts, automações e aplicações em Python.

Conteúdo do curso

  • Aula em vídeo: Curso completo de Python - Aula 1 - Instalando o PyCharm e o Python 3 no Windows 19m
  • Exercício: Ao instalar o Python no Windows, qual é a finalidade de marcar a opção para adicionar o Python ao PATH?
  • Aula em vídeo: Curso Completo de Python - Aula 2 - Instalando o PyCharm e Python 3 no Linux 15m
  • Aula em vídeo: Curso Completo de Python - Aula 3 - Algoritmo e Conceitos Básicos 26m
  • Exercício: Em Python, qual afirmação descreve melhor uma variável?
  • Aula em vídeo: Curso Completo de Python - Aula 4 - Variáveis 15m
  • Aula em vídeo: Curso Completo de Python - Aula 5 - Strings 26m
  • Exercício: Em Python, qual operação está sendo usada ao juntar duas strings com o operador +, como em nome1 + ' ' + nome2?
  • Aula em vídeo: Curso Completo de Python - Aula 6 - Trabalhando com números 14m
  • Aula em vídeo: Curso Completo de Python - Aula 7 - Introdução à listas 10m
  • Exercício: Em Python, qual é a forma correta de acessar o terceiro elemento de uma lista chamada carros?
  • Aula em vídeo: Curso Completo de Python - Aula 8 - Manipulando elementos de uma lista 10m
  • Aula em vídeo: Curso Completo de Python - Aula 9 - Organizando listas 06m
  • Exercício: Em Python, qual alternativa descreve corretamente a diferença entre list.sort() e sorted(lista) ao ordenar uma lista?
  • Aula em vídeo: Curso Completo de Python - Aula 10 - Laço de repetição FOR 10m
  • Aula em vídeo: Curso Completo de Python - Aula 11 - Trabalhando com números no laço FOR 11m
  • Exercício: Em Python, qual é a forma correta de gerar uma lista com os números de 1 até 100 usando range e list?
  • Aula em vídeo: Curso Completo de Python - Aula 12 - Fatiando listas 08m
  • Aula em vídeo: Curso Completo de Python - Aula 13 - Copiando listas 05m
  • Exercício: Ao querer alterar uma lista em Python sem modificar a lista original, qual é a forma correta de criar uma cópia independente?
  • Aula em vídeo: Curso Completo de Python - Aula 14 - Tuplas 04m
  • Aula em vídeo: Curso Completo de Python - Aula 15 - If e Else Parte I 12m
  • Exercício: Em Python, qual operador é usado para comparar se o valor de uma variável é igual a outro valor em uma condição?
  • Aula em vídeo: Curso Completo de Python - Aula 16 - If e Else Parte II 08m
  • Aula em vídeo: Curso Completo de Python - Aula 17 - If e Else Parte III 19m
  • Exercício: Em Python, por que é comum usar int(input(...)) ao pedir a idade do usuário?
  • Aula em vídeo: Curso Completo de Python - Aula 18 - If e Else Parte IV 10m
  • Aula em vídeo: Curso Completo de Python - Aula 19 - If e Else Parte V final 10m
  • Exercício: Qual é a função do laço while no programa de ingredientes da pizza?
  • Aula em vídeo: Curso Completo de Python - Aula 20 - Dicionários Parte I 12m
  • Aula em vídeo: Curso Completo de Python - Aula 21 - Dicionários Parte II 10m
  • Exercício: Ao percorrer um dicionário com um laço for para obter chave e valor, qual forma é a correta em Python?
  • Aula em vídeo: Curso Completo de Python - Aula 22 - Função Imput 09m
  • Aula em vídeo: Curso Completo de Python - Aula 23 - Laço de Repetição While 07m
  • Exercício: Qual condição encerra corretamente um laço while que lê entradas do usuário até ele digitar uma palavra específica?
  • Aula em vídeo: Curso Completo de Python - Aula 24 - Instrução Break e Instrução Continue 11m
  • Aula em vídeo: Curso Completo de Python - Aula 25 - Funções, argumentos e parâmetros 15m
  • Exercício: Em Python, qual é a forma correta de definir e executar uma função que recebe dois valores para somar?
  • Aula em vídeo: Curso Completo de Python - Aula 26 - Argumentos posicionais, nomeados e padrões 23m
  • Aula em vídeo: Curso Completo de Python - Aula 27 - Valor de retorno das funções (return) 10m
  • Exercício: Qual é a principal vantagem de uma função usar return em vez de apenas print o resultado?
  • Aula em vídeo: Curso Completo de Python - Aula 28 - Trabalhando com listas dentro das funções 10m
  • Aula em vídeo: Curso Completo de Python - Aula 29 - Importando Módulos 16m
  • Exercício: Qual é a forma correta de importar apenas uma função específica de um módulo em Python?
  • Aula em vídeo: Curso Completo de Python - 1ª Parte de Exercícios 07m
  • Aula em vídeo: Curso Completo de Python - Aula 30 - Resolvendo o Exercício 1 20m
  • Exercício: Ao criar um programa em Python para montar uma lista de convidados e encerrar quando o usuário digitar fim, qual combinação é a mais adequada para permitir repetição indefinida e saída controlada?
  • Aula em vídeo: Curso Completo de Python - Aula 31 - Resolvendo o Exercício 2 24m
  • Aula em vídeo: Curso Completo de Python - Aula 32 - Resolvendo o Exercício 3 27m
  • Exercício: Ao organizar uma calculadora em Python com funções em um arquivo separado, qual é o principal objetivo de usar um módulo externo?
  • Aula em vídeo: Curso Completo de Python - Aula 33 - Resolvendo o Exercício 4 41m
  • Aula em vídeo: Curso Completo de Python - Aula 34 - Classes (introdução) 13m
  • Exercício: Em Python, qual é a função do método __init__ dentro de uma classe?
  • Aula em vídeo: Curso Completo de Python - Aula 35 - Exercitando Classes - Parte 1 19m
  • Aula em vídeo: Curso Completo de Python - Aula 36 - Exercitando Classes - Parte 2 14m
  • Exercício: Ao criar uma classe em Python para representar um usuário com atributos (ex.: primeiro_nome, ultimo_nome, idade, cidade, sexo), qual é a finalidade do método especial __init__?
  • Aula em vídeo: Curso Completo de Python - Aula 37 - Alterando atributos de uma instância - Parte 1 18m
  • Aula em vídeo: Curso Completo de Python - Aula 38 - Alterando atributos de uma instância - Parte 2 17m
  • Exercício: Qual é a principal diferença entre um método que altera o odômetro e um método que incrementa o odômetro em uma classe Carro?
  • Aula em vídeo: Curso Completo de Python - Aula 39 - Herança - Parte 1 22m
  • Aula em vídeo: Curso Completo de Python - Aula 40 - Herança - Parte 2 15m
  • Exercício: Em Programação Orientada a Objetos com Python, qual é a forma correta de acessar o valor numérico armazenado em um atributo de um objeto que está dentro de outro objeto (composição)?
  • Aula em vídeo: Curso Completo de Python - Aula 41 - Herança - Parte 3 13m
  • Aula em vídeo: Curso Completo de Python - Aula 42 - Manipulando Arquivos de texto 23m
  • Exercício: Ao abrir um arquivo de texto em Python para garantir que ele seja fechado automaticamente, qual é a forma mais indicada?
  • Aula em vídeo: Curso Completo de Python - Aula 43 - Tratamento de erros com Try e Except 18m
  • Aula em vídeo: Curso Completo de Python - Aula 44 - Trabalhando com banco de dados SQLite 18m
  • Exercício: Ao usar SQLite no Python com sqlite3.connect("aula44.db"), o que acontece se o arquivo do banco de dados ainda não existir?
  • Aula em vídeo: Curso Completo de Python - Aula 45 - Criando executável com o Pyinstaller 12m
  • Aula em vídeo: Curso Completo de Python - Aula 46 - Tkinter: Criando janela 08m
  • Exercício: Em uma aplicação com Tkinter, qual comando mantém a janela aberta e “escutando” eventos até o usuário fechá-la?
  • Aula em vídeo: Curso Completo de Python - Aula 47 - Tkinter: Adicionando componentes à nossa janela 10m
  • Aula em vídeo: Curso Completo de Python - Aula 48 - Tkinter: Posicionando meus componentes da janela 20m
  • Exercício: No Tkinter, qual parâmetro do método pack() permite definir em qual lado (top, left, right, bottom) um widget será posicionado?
  • Aula em vídeo: Curso Completo de Python - Aula 49 - Tkinter: Executando métodos com os botões e inserindo imagens 14m
  • Aula em vídeo: Curso Completo de Python - Aula 50 - Tkinter: bordas e cor de fundo da janela 20m
  • Exercício: Em uma aplicação Tkinter, qual método é usado para alterar o título exibido na barra da janela?
  • Aula em vídeo: Curso Completo de Python - Aula 51 - Tkinter: apresentando nosso primeiro projeto 15m
  • Aula em vídeo: Curso Completo de Python - Aula 52 - Tkinter: Interface gráfica do nosso joguinho - Parte 1 25m
  • Exercício: Em um programa com interface gráfica usando Tkinter, qual comando cria a janela principal da aplicação?
  • Aula em vídeo: Curso Completo de Python - Aula 53 - Tkinter: Interface gráfica do nosso joguinho - Parte 2 24m
  • Aula em vídeo: Curso Completo de Python - Aula 54 - Tkinter: Interface gráfica do nosso joguinho - Parte 3 24m
  • Exercício: Em uma interface feita com Tkinter, qual é a forma correta de permitir que a ação de jogar seja executada tanto ao clicar no botão quanto ao pressionar a tecla Enter?
  • Aula em vídeo: Curso Completo de Python - Aula 55 - Tkinter: Função do botão Jogar - Parte 1 26m
  • Aula em vídeo: Curso Completo de Python - Aula 56 - Tkinter: Função do botão Jogar - Parte 2 15m
  • Exercício: Como impedir que o programa calcule par/ímpar quando o número digitado está fora do intervalo permitido (0 a 10)?
  • Aula em vídeo: Curso Completo de Python - Aula 57 - Tkinter: Função do botão Jogar - Parte 3 17m
  • Aula em vídeo: Curso Completo de Python - Aula 58 - Tkinter: Função do botão Jogar - Parte 4 35m
  • Exercício: Em um jogo par/ímpar em Python com Tkinter, qual é a forma correta de atualizar a pontuação quando o jogador ganha um ponto?
  • Aula em vídeo: Curso Completo de Python - Aula 59 - Tkinter: Compilando para .EXE sem console e com ícone 27m
  • Aula em vídeo: Curso Completo de Python - Aula 60 - Pygame - Estrutura Básica 19m
  • Exercício: Em um projeto de jogo com Pygame, qual é a função do método pygame.display.flip() dentro do loop principal?
  • Aula em vídeo: Curso Completo de Python - Aula 61 - Pygame - Cor de fundo e tamanho de tela 19m
  • Aula em vídeo: Curso Completo de Python - Aula 62 - Pygame: Adicionando imagem Parte 1 16m
  • Exercício: No Pygame, qual é a finalidade de usar o método get_rect() ao carregar a imagem da nave?
  • Aula em vídeo: Curso Completo de Python - Aula 63 - Pygame: Adicionando imagem Parte 2 13m
  • Aula em vídeo: Curso Completo de Python - Aula 64 - Dando movimento a espaço nave parte 1 26m
  • Exercício: Para permitir que a nave se mova continuamente enquanto a tecla da direita estiver pressionada, qual abordagem é a mais correta?
  • Aula em vídeo: Curso Completo de Python - Aula 65 - Dando movimento a espaçonave parte 2 18m
  • Aula em vídeo: Curso Completo de Python - Aula 66 - Alterando a velocidade da espaçonave 20m
  • Exercício: Qual é a principal vantagem de criar um atributo de velocidade no arquivo de configurações (Settings) e usá-lo na classe da nave?
  • Aula em vídeo: Curso Completo de Python - Aula 67 - Delimitando a área de movimento da espaçonave 18m
  • Aula em vídeo: Curso Completo de Paython - Aula 68 - Refatorando Game Fuctions 09m
  • Exercício: Qual é o principal objetivo de refatorar o código ao lidar com muitos eventos de teclado em um jogo com Pygame?
  • Aula em vídeo: Curso Completo de Python - Aula 69 - Criando o Projétil da espaçonave 23m
  • Aula em vídeo: Curso Completo de Python - Aula 70 - Funções que atualizam a posição dos projéteis 12m
  • Exercício: Qual é a função do método update() na classe Bullet durante a movimentação do projétil?
  • Aula em vídeo: Curso Completo de Python - Aula 71 - Disparando os projéteis 23m
  • Aula em vídeo: Curso Completo de Python - Aula 72 - Apagando os projéteis que saem da tela 10m
  • Exercício: Ao criar projéteis em um jogo com Python, qual é o principal motivo para removê-los do grupo quando saem da tela?
  • Aula em vídeo: Curso Completo de Python - Aula 73 - Limitando o número de projéteis na tela 09m
  • Aula em vídeo: Curso Completo de Python - Aula 74 - Refatorando o código 10m
  • Exercício: Qual é o principal objetivo de refatorar o código ao criar funções como update_bullets e fire_bullet?
  • Aula em vídeo: Curso Completo de Python - Aula 75 - Dando vida aos alienígenas 25m
  • Aula em vídeo: Curso Completo de Python - Aula 76 - Primeira aparição alienígena 08m
  • Exercício: Qual é a forma correta de instanciar o objeto do alien, considerando que a classe recebe as configurações e a tela?
  • Aula em vídeo: Curso Completo de Python - Aula 77 - Criando um grupo de alienígenas 27m
  • Aula em vídeo: Curso Completo de Python - Aula 78 - Primeira linha da frota alienígena 10m
  • Exercício: Em um jogo, ao criar vários inimigos em uma mesma linha, qual fórmula costuma ser usada para calcular a posição X de cada elemento, mantendo margens e espaçamento uniformes?
  • Aula em vídeo: Curso Completo de Python - Aula 79 - Refatorando 12m
  • Aula em vídeo: Curso Completo de Python - Aula 80 - Finalizando a frota alienígena - Parte 1 15m
  • Exercício: Qual é o objetivo da função que calcula o número de linhas de alienígenas que cabem na tela (eixo Y)?
  • Aula em vídeo: Curso Completo de Python - Aula 81 - Finalizando a frota alienígena - parte 2 14m
  • Aula em vídeo: Curso Completo de Python - Aula 82 - Dando movimentos aos aliens - Parte 1 10m
  • Exercício: Qual é o efeito de somar um valor positivo à coordenada x do alien a cada atualização, usando um fator de velocidade configurável?
  • Aula em vídeo: Curso Completo de Python - Aula 83 - Dando movimento aos aliens - Parte 2 12m
  • Aula em vídeo: Curso Completo de Python - Aula 84 - Dando movimento aos aliens - Parte 3 18m
  • Exercício: Por que usar a variável/atributo fleet_direction multiplicando a velocidade do alien em vez de alterar diretamente a velocidade?
  • Aula em vídeo: Curso Completo de Python - Aula 85 - Atirando nos alienígenas 13m
  • Aula em vídeo: Curso Completo de Python - Aula 86 - Repovoando o jogo com alienígenas 12m
  • Exercício: Como repovoar a frota quando todos os alienígenas forem destruídos?
  • Aula em vídeo: Curso Completo de Python - Aula 87 - Colidindo os aliens e nossa nave espacial 10m
  • Aula em vídeo: Curso Completo de Python - Aula 88 - Trabalhando as colisões entre a nave e os aliens - Parte I 13m
  • Exercício: Qual é o principal objetivo da classe GameState criada no projeto?
  • Aula em vídeo: Curso Completo de Python - Aula 89 - Trabalhando as colisões entre a nave e os aliens - Parte II 16m
  • Aula em vídeo: Curso Completo de Python - Aula 90 - Colisão do Alien com a borda inferior da tela 18m
  • Exercício: Em um jogo feito com Pygame, como verificar se um alienígena atingiu a parte inferior da tela?
  • Aula em vídeo: Curso Completo de Python - Aula 91 - Criando o botão play - Parte 1 14m
  • Aula em vídeo: Curso Completo de Python - Aula 92 - Criando botão play - Parte 2 15m
  • Exercício: Ao criar um método em uma classe Python, por que normalmente não passamos o argumento self na chamada (ex.: obj.metodo(msg))?
  • Aula em vídeo: Curso Completo de Python - Aula 93 - Fazendo o botão play funcionar - Parte 1 13m
  • Aula em vídeo: Curso Completo de Python - Aula 94 - Fazendo o botão play funcionar - Parte 2 08m
  • Exercício: Ao clicar em Play para reiniciar o jogo, quais ações foram implementadas para restaurar o estado inicial?
  • Aula em vídeo: Curso Completo de Python - Aula 95 - Ajustes finais no botão de play e fazendo o mouse desaparecer 11m
  • Aula em vídeo: Curso Completo de Python - Aula 96 - Deixando o jogo mais desafiador 21m
  • Exercício: Qual é a principal vantagem de criar um método para inicializar as configurações dinâmicas (como velocidades) em vez de deixar esses valores direto no construtor?
  • Aula em vídeo: Curso Completo de Python - Aula 97 - Inserindo Pontuação no Jogo - Parte 1 14m
  • Aula em vídeo: Curso Completo de Python - Aula 98 - Inserindo Pontuação no Jogo - Parte 2 10m
  • Exercício: Em uma classe que exibe a pontuação na tela usando Pygame, qual chamada é responsável por desenhar a imagem do texto (score) na tela na posição definida pelo retângulo?
  • Aula em vídeo: Curso Completo de Python - Aula 99 - Atualizando a pontuação - Parte 1 17m
  • Aula em vídeo: Curso Completo de Python - Aula 100 - Atualizando a pontuação - Parte 2 09m
  • Exercício: Em um jogo feito em Python, qual estratégia permite aumentar a pontuação a cada nova fase, mantendo valores inteiros e arredondados para múltiplos de 10?
  • Aula em vídeo: Curso Completo de Python - Aula 101 - Pontuação Máxima Parte 1 15m
  • Aula em vídeo: Curso Completo de Python - Aula 102 - Pontuação Máxima Parte 2 09m
  • Exercício: Qual é a lógica correta para atualizar a pontuação máxima (high score) em um jogo feito com Python?
  • Aula em vídeo: Curso Completo de Python - Aula 103 - Mudando de nível Parte 1 12m
  • Aula em vídeo: Curso Completo de Python - Aula 104 - Mudando de nível parte 2 10m
  • Exercício: Ao destruir toda a frota de inimigos, o que o código faz para iniciar um novo nível?
  • Aula em vídeo: Curso Completo de Python - Aula 105 - Representando a quantidade de vida na tela - parte 1 17m
  • Aula em vídeo: Curso Completo de Python - Aula 106 - Representando a quantidade de vida na tela - parte 2 12m
  • Exercício: Para exibir na tela o grupo de ícones que representam as vidas restantes (naves), qual chamada é utilizada?

Este curso gratuito inclui:

28 horas e 22 minutos de curso online em vídeo

Certificado digital de conclusão de curso ( Gratuito )

Exercícios para treinar seus conhecimentos

100% gratuito, do conteúdo ao certificado

Pronto para começar?Baixe o app e comece hoje mesmo.

Instale o app agora

para ter acesso ao curso
Ícone representando cursos de tecnologia e negócios

+ de 5.000 cursos gratuitos

Programação, Inglês, Marketing Digital e muito mais! Aprenda o que quiser, gratuitamente.

Ícone de calendário com alvo representando planejamento de estudos

Plano de estudos com IA

A Inteligência Artificial do nosso aplicativo pode criar um cronograma de estudos para o curso que você escolher.

Ícone de profissional representando carreira e negócios

Do zero ao Sucesso profissional

Melhore seu currículo com nosso Certificado gratuito e depois utilize nossa Inteligência Artificial para buscar seu emprego dos sonhos.

Você também pode utilizar o QR Code ou os Links abaixo

QR Code - Baixar Cursa - Cursos Online

Mais cursos gratuitos em Linguagens de programação ( Python, Ruby, Java )

Ebook + Áudiobooks gratuitos! Aprenda ouvindo ou lendo!

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso