Objetivo
Este post foi pensado para quem ja programa em Pascal ou Delphi e quer aprender Python comparando conceitos conhecidos: uses, variaveis, operadores, condicionais, repeticao, funcoes, procedimentos, listas, registros, classes, arquivos e tratamento de erros.
A ideia para o video e mostrar que Python não e “mais dificil” nem “mais facil” que Pascal: ele apenas tem uma sintaxe mais enxuta, usa indentacao no lugar de begin/end, possui tipagem dinamica e traz muitas estruturas prontas na linguagem.
1. Visão geral: Pascal x Python
Pascal
program OlaMundo;
begin
WriteLn('Ola, mundo!');
end.
Python
print("Ola, mundo!")
Saida nos dois casos:
Ola, mundo!
Comparação
| Conceito | Pascal/Delphi | Python |
|---|---|---|
| Blocos | begin ... end |
Indentacao |
| Fim de comando | ; |
Quebra de linha |
| Saida de texto | WriteLn |
print |
| Entrada de texto | ReadLn |
input |
| Modulos | uses |
import |
| Comentario | { }, // |
# |
| Tipagem | Geralmente estatica | Dinamica, com type hints opcionais |
| Programa principal | program, begin/end |
Codigo executado diretamente ou if __name__ == "__main__" |
“Se voce vem do Pascal, a primeira grande diferenca visual em Python e que nao existe begin e end. O bloco de codigo e definido pela indentacao. Isso assusta no comeco, mas deixa o codigo bem limpo.”
2. Estrutura basica de um programa
Pascal
program Exemplo;
uses
SysUtils;
var
Nome: string;
begin
Write('Digite seu nome: ');
ReadLn(Nome);
WriteLn('Ola, ', Nome);
end.
Python
nome = input("Digite seu nome: ")
print("Ola,", nome)
Se o usuario digitar Ana, a saida sera a mesma:
Ola, Ana
Observacoes importantes
Em Pascal, normalmente declaramos variaveis antes do begin. Em Python, a variavel nasce quando recebe um valor pela primeira vez.
Exemplo especifico de Python:
idade = 25
nome = "Ana"
altura = 1.70
ativo = True
3. uses em Pascal e import em Python
Em Pascal/Delphi, usamos uses para acessar units:
uses
SysUtils, Math;
Em Python, usamos import:
import math
import datetime
Usando funcoes de um modulo
Pascal
uses
Math;
begin
WriteLn(Sqrt(25):0:1);
end.
Python
import math
print(f"{math.sqrt(25):.1f}")
Saida nos dois casos:
5.0
Importando apenas uma funcao
Este e um recurso especifico de Python. O resultado e o mesmo do exemplo anterior, mas sem escrever math. antes de sqrt.
from math import sqrt
print(sqrt(25))
Criando um apelido
Este exemplo tambem e especifico de Python. Ele mostra como dar um apelido para um modulo importado.
import math as m
print(f"{m.sqrt(25):.1f}")
Saida:
5.0
Comparacao rapida
| Pascal/Delphi | Python |
|---|---|
uses Math; |
import math |
uses SysUtils; |
Nao ha equivalente unico; depende do recurso usado |
uses DateUtils; |
import datetime |
| Units | Modulos/pacotes |
| Nome da unit fica disponivel conforme a unit | Normalmente acessa com modulo.funcao() |
4. Variaveis e tipos
Pascal
var
Idade: Integer;
Nome: string;
Salario: Double;
Ativo: Boolean;
begin
Idade := 30;
Nome := 'Carlos';
Salario := 3500.75;
Ativo := True;
WriteLn(Nome, ' - ', Idade);
end.
Python
idade = 30
nome = "Carlos"
salario = 3500.75
ativo = True
print(nome, "-", idade)
Saida nos dois casos:
Carlos - 30
Principais tipos
| Tipo | Pascal/Delphi | Python |
|---|---|---|
| Inteiro | Integer |
int |
| Real | Double, Real, Currency |
float, Decimal |
| Texto | string, Char |
str |
| Logico | Boolean |
bool |
| Lista/array | array |
list, tuple |
| Registro | record |
dict, dataclass, classe |
| Objeto | class |
class |
Type hints em Python
Python nao exige declarar tipos, mas permite indicar tipos:
idade: int = 30
nome: str = "Carlos"
salario: float = 3500.75
ativo: bool = True
Isso ajuda editores, revisao de codigo e manutencao.
5. Operadores aritmeticos
Pascal
uses
Math;
var
A, B: Integer;
begin
A := 10;
B := 3;
WriteLn('Soma: ', A + B);
WriteLn('Subtracao: ', A - B);
WriteLn('Multiplicacao: ', A * B);
WriteLn('Divisao real: ', A / B:0:2);
WriteLn('Divisao inteira: ', A div B);
WriteLn('Resto: ', A mod B);
WriteLn('Potencia: ', Power(A, B):0:0);
end.
Python
a = 10
b = 3
print("Soma:", a + b)
print("Subtracao:", a - b)
print("Multiplicacao:", a * b)
print(f"Divisao real: {a / b:.2f}")
print("Divisao inteira:", a // b)
print("Resto:", a % b)
print("Potencia:", a ** b)
Saida nos dois casos:
Soma: 13
Subtracao: 7
Multiplicacao: 30
Divisao real: 3.33
Divisao inteira: 3
Resto: 1
Potencia: 1000

