Convenções para estudantes de Python

Ruan Miguel
4 min readApr 11, 2024

--

Dicas de conceitos e recursos não existentes da linguagem, e como estudá-los apesar da sua inexistência.

Python Wallpaper
Python Wallpaper

Python é uma linguagem muito boa para novatos em programação pois tem uma curva de aprendizado muito curta e rápida, além de ser uma linguagem de propósito geral e é possível o usar em diversos tipos de projetos diferentes, mas, um ponto que é falho no Python, é a falta de conceitos e recursos que estão presentes em diversas outras linguagens de programação.

O altíssimo nível da linguagem, sua sintaxe super simplificada, e suas funções que escondem e automatizam muito do processo do algoritmo, são uma faca de 2 gumes, ao mesmo tempo que são boas para facilitar e se aprender rapidamente sobre programação, também é ruim por impedir que o usuário aprenda sobre diversos conceitos e recursos, pelo simples fato desses conceitos e recursos não existirem na linguagem.

Observação: O que será visto nesse artigo também pode ser visto em outras linguagens de programação além do Python, como por exemplo JavaScript, apenas saiba que o foco alvo desse artigo são todas linguagens de mais alto nível que tem um nível de simplificação muito alto, mas usamos Python como exemplo apenas por ser uma lingua adequada para o artigo e por ser muito usada hoje em dia.

E agora, apresento a vocês os conceitos e recursos em falta, e também a solução para aprender sobre os mesmos, apesar de sua inexistência na linguagem:

Constantes

Não existem formas de se declarar uma constante em Python, somente há variáveis, o mais perto de uma constante em Python são alguns tipos primitivos que até certo ponto são imutáveis.

Solução:

Finja que existem constantes em Python, declarando variáveis com todas as letras maiúsculas, e trate as mesmas variáveis como constantes, ou seja, não altere seus valores, não importa o que aconteça.

# Constantes
HOST = 'localhost'
PORT = 8888

Modificadores de acesso

Não é possível se modificar acesso de atributos, classes e métodos em Python, pois não existem modificadores de acesso, tudo envolvendo orientação a objetos em Python é público.

Solução:

Usamos underlines como “_” e “__” no início do nome de um atributo ou método quando queremos tratar os mesmos com algum modificador de acesso, sendo “_” para protegido e “__” para privado, e a ausência de underline para deixarmos público.

# Modificadores de acesso
class Classe:

variável_pública = 'Pública'
_variável_protegida = 'Protegida'
__variável_privada = 'Privada'

def método_público ():
print('Método público')

def _método_protegido ():
print('Método protegido')

def __método_privado ():
print('Método privado')

Tipagem estática

Não existe a tipagem estática em Python, a linguagem usa tipagem dinâmica e forte, e não há formas de se tipar uma variável estaticamente.

Solução:

Podemos fingir e preparar nosso código para que ele funcione como se fosse tipado estaticamente, adicionando o tipo primitivo das variáveis logo após declararmos as mesmas, e explicitarmos o tipo primitivo que deve ser passado para em cada argumento de uma função ou método, e o tipo primitivo que o mesmo deve retornar:

# Tipagem estática
idade: int = 18

def verificarMaioridade (idade: int) -> bool:
it idade >= 18: return True
else: return False

Podemos ver a tipagem estática de fato quando observamos “: int =” para explicitar o tipo primitivo da variável, “: int” na função, para explicitarmos que tipo primitivo esse argumento pertence, e “-> bool” na mesma linha, explicitando que o tipo de retorno dessa função será um valor booleano.

Finalizando:

Tudo isso que presenciamos nesse artigo, são chamados de convenções, regras informais criadas pela comunidade de programadores ao redor do mundo para torna o código universalmente mais limpo e de fácil leitura e manuseio, além de permitir adicionar conceitos e recursos antes não existentes na linguagem.

Obviamente nenhum conceito ou recurso foi adicionado de fato a linguagem, tudo não passa de algo imaginário, ou simbólico, porém, fazem toda diferença, são esses detalhes que tornam seu código melhor, demonstram maior comprometimento de sua parte com um bom funcionamento e manutenção do mesmo, e principalmente, um divisor de águas entre estudantes novatos e profissionais da área.

Finalizando, aprendam as convenções, se um conceito ou recurso famoso não existe em Python, não deixe de aprender sobre o mesmo apenas porque ele não existe na sua língua, aprenda sobre eles através das convenções, não deixe de aprender algo pelo fato de não estar de fato disponível em sua linguagem, e isso soa estranho e engraçado de fato, porém os resultados são bem sérios e importantes para o futuro de sua carreira de programador.

--

--