Pesquisar
Close this search box.

Como programar em Python – O básico que você precisa saber

Programar em Python

Um Novo Começo para um Programador experiente em linguagens Orientadas a Objeto

Após programar em linguagens Orientadas a Objetos tradicionais como o C# após mais de 10 anos e embarcar na jornada de programar em Python trouxe uma combinação de familiaridade e surpresa. Python, com sua sintaxe enxuta e flexível, oferece uma abordagem única ao desenvolvimento, que desafia algumas práticas a que estava acostumado no universo das linguagens de tipagem estática, como o C#. Neste artigo, compartilho o que aprendi ao explorar o básico de Python, ressaltando as diferenças, semelhanças e as primeiras impressões para outros programadores que, como eu, estão habituados a linguagens OOP tradicionais.

Primeiras Impressões: A Simplicidade de programar em Python

Desde o começo, Python já se destaca pela simplicidade da sintaxe. Enquanto em C# estamos habituados a estruturas verbosas, que exigem chaves, ponto e vírgula e outras marcações, em Python as coisas fluem de forma diferente. Por exemplo, em vez de chaves para delimitar blocos de código, Python utiliza indentação, o que reforça a legibilidade e, ao mesmo tempo, obriga a uma organização mais rígida. Em Python, código mal indentado não funciona, pois não se trata apenas de “desorganização”.

Essa diferença foi um ajuste inicial para mim, mas rapidamente ficou claro que o uso da indentação faz sentido. O código é claro e simples de entender. Para quem vem do C#, essa mudança exige cuidado, mas logo se torna natural.

Tipagem Dinâmica e Flexibilidade

Um dos maiores contrastes entre C# e Python está na tipagem. Em C#, você declara cada variável com um tipo específico, garantindo segurança, mas adicionando verbosidade ao código. Em Python, a tipagem dinâmica dispensa a especificação do tipo, pois o próprio interpretador determina isso durante a execução.

Exemplo em C#:

int numero = 10;
string saudacao = "Olá, mundo!";

Em Python, isso seria simplesmente:

numero = 10 
saudacao = "Olá, mundo!"

Esse nível de flexibilidade traz um ganho de produtividade, mas exige um pouco de cuidado para evitar erros. Programadores acostumados a uma tipagem rígida podem sentir falta de um “safety net” que impede operações de tipos incompatíveis. No entanto, aprendi que Python oferece ferramentas, como o módulo type, para verificações de tipo quando necessário. Além disso, Python 3.5 trouxe anotações de tipo (type hints), que ajudam a documentar e clarificar o código, sem perder a flexibilidade da tipagem dinâmica.

Trabalhando com Funções: A Simplicidade do “def”

Declarar funções em Python é direto e intuitivo. A palavra-chave def é usada para definir uma função, sem a necessidade de especificar um tipo de retorno. Em C#, acostumamo-nos a declarar explicitamente o tipo de retorno e os parâmetros da função, o que às vezes torna o código mais longo e menos fluido.

Exemplo de função em C#:

public int Soma(int a, int b) {
    return a + b;
}

Em Python, você escreve essa mesma função de forma mais direta:

def soma(a, b):
    return a + b

Outra diferença notável é que Python suporta argumentos padrão e variáveis com mais naturalidade, simplificando muitas funções que, em C#, exigiriam sobrecarga.

Estruturas de Controle: Um Retorno ao Básico

Python oferece estruturas de controle familiares, como if, for e while, mas de forma simplificada e sem a complexidade de parênteses e chaves. Para quem vem de C#, é necessário ajustar-se à ausência desses delimitadores, mas a adaptação é rápida. O uso de listas, dicionários e outras estruturas de dados embutidas também me impressionou pela versatilidade e facilidade de uso.

Exemplo de laço for em Python:

for i in range(5):
    print(i)

Esse é um exemplo típico de como Python mantém a simplicidade sem perder o poder. A função range é flexível e permite criar rapidamente loops de contagem ou de iteração em listas e outros iteráveis.

Orientação a Objetos ao programar em Python: Simples, Mas Poderosa

Por fim, uma das partes mais familiares para quem vem do C# é a orientação a objetos de Python. Python permite criar classes e trabalhar com métodos e atributos, mas com uma abordagem mais leve. Em vez de public e private e outras definições de acesso, Python utiliza convenções (como o sublinhado _) para sinalizar variáveis privadas. A estrutura de uma classe em Python é mais simples, sem a necessidade de especificar tipos para cada variável.

Exemplo de classe em Python:

class Pessoa:
    def __init__(self, nome, idade):
        self.nome = nome
        self.idade = idade

    def cumprimentar(self):
        print(f"Olá, meu nome é {self.nome}")

Em resumo, Python utiliza um estilo de orientação a objetos mais flexível que o de C#, sem abrir mão de expressividade e poder. Essa abordagem permite construir aplicações complexas sem a rigidez das linguagens mais estritamente tipadas.

Conclusão – Programar em Python é necessário

Começar a programar em Python após anos trabalhando com C# tem sido uma experiência enriquecedora e desafiadora. Python é uma linguagem de propósito geral, poderosa e simples de aprender, utilizada em áreas como desenvolvimento web, inteligência artificial e ciência de dados. Sua sintaxe simples e dinâmica é um refresco, ao mesmo tempo que exige atenção a novos detalhes, como a indentação e a tipagem dinâmica.

Para outros desenvolvedores que estejam iniciando com Python, minha recomendação é abraçar as diferenças e aproveitar as vantagens que essa linguagem oferece. O básico de Python pode parecer simples, mas suas aplicações são infinitas. A cada novo exercício, vejo como essa linguagem pode se adaptar e crescer conforme as necessidades, permitindo um desenvolvimento ágil, versátil e moderno.

Saiba mais com as documentações oficiais

Você também pode gostar