A sintaxe de uma linguagem são as regras que nos dizem como escrever um código para que ele seja compilado sem erros. A seguir, veremos algumas dentre as principais características da sintaxe do Python, com exemplos de código e explicações. Uma vez que o Python é uma linguagem fácil de aprender, é possível que ao final desse artigo você já possa escrever os seus primeiros códigos com a mesma.
Variável
Nas linguagens de programação, a variável é um local na memória que reservamos para armazenar dados. Para criar uma variável no Python basta informar nome e valor, como mostra o Código 1.
total_alunos = 10
print(total_alunos)
Neste código declaramos a variável total_alunos na Linha 1 e exibimos o seu valor na Linha 2 com o comando print.
O nome de uma variável deve começar com uma letra ou sublinhado e pode ser seguido por letras, números e o caractere de sublinhado _. No Código 1 temos um exemplo de variável que recebeu um nome composto por duas palavras separadas por um sublinhado. Outras formas de se escrever variáveis são erradas ou incomuns.
Vamos ver no Código 2 um exemplo de código inválido na linguagem Python.
total_alunos = 10
_total_alunos = 10
1total_alunos = 10
print(total_alunos)
print(_total_alunos)
print(1total_alunos)
Na Linha 3, temos uma variável que se inicia com um número, o que gera um erro de sintaxe. A Linha 7 também contém um erro, pois está tentando exibir uma variável que tem um nome incorreto.
Python é uma linguagem case-sensitive, que faz diferenciação entre letras maiúsculas e minúsculas. Sendo assim, total_alunos e Total_alunos seriam nomes de variáveis diferentes. Vejamos um exemplo no Código 3.
total_aulas = 5
TOTAL_AULAS = 10
print(total_aulas)
print(TOTAL_AULAS)
Nesse exemplo, total_aulas é uma variável diferente de TOTAL_AULAS.
Palavras-chave
Python, como toda linguagem, possui um conjunto de palavras-chave, que são termos que possuem significado especial para o compilador e que não podem utilizados como nomes. Abaixo temos uma lista destes termos:
and, as, assert, break, class, continue, def, del, elif, else, except, False, finally,
for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise,
return, True, try, while, with, yield
O Código 4 gera um erro de sintaxe, pois o nome da variável for está violando a regra de não usar palavras-chave.
for = 5 - 1
print(x)
Para resolver esse problema basta utilizar um nome que não seja uma palavra-reservada, como vemos no Código 5.
x = 5 - 1
print(x)
Não se preocupe em decorar cada palavra-chave da linguagem agora. A maioria das IDEs com as quais você vai trabalhar te avisará quando você estiver utilizando alguma dessas palavras como nome de uma variável.
Não é necessário usar ponto vírgula no fim de um comando
Em boa parte das linguagens de programação as linhas de código devem terminar com um ponto e vírgula (;). No Python isso é opcional. Um caso onde o ponto e vírgula seria necessário é quando temos mais de um comando em uma mesma linha. O Código 6 mostra como é isso na prática.
a = 1
b = 2
c = 3
print("o valor de a é ", a)
print("o valor de b é ", b); print("o valor de c é ", c)
Na Linha 5, usamos dois comandos numa mesma linha, e para isso utilizamos o ponto e vírgula. Acima podemos ver que no final do comando print("o valor de b é ", b) adicionamos um ponto e vírgula e no final do comando print("o valor de c é ", c) isso não foi necessário.
Indentação faz parte da sintaxe
Indentação é uma forma de arrumar o código, fazendo com que algumas linhas fiquem mais à direita que outras, à medida que adicionamos espaços em seu início. Para a maioria das linguagens a indentação não é obrigatória, mas no caso Python isso é diferente.
A indentação é uma característica importante no Python, pois além de promover a legibilidade é essencial para o bom funcionamento do código. Em outras palavras, se a indentação não estiver adequada o programa pode se comportar de forma inesperada ou até mesmo não compilar.
Por exemplo, no caso de um if, o que determina se um código está dentro da condicional é o fato dele ter sido indentado. O Código 7 apresenta um exemplo onde o comando print só será executado se o valor da variável x for maior que 8.
x = 10
if x > 8:
print("x é maior que 8")
Agora veja esse novo exemplo no qual o comando print será executado de qualquer forma por não estar indentado e, por isso, não estar contido no if.
x = 10
if x > 8:
print("x é maior que 8")
No Código 8 temos dois erros. O primeiro tem a ver com a forma como o código foi escrito, porque se se espera que o comando print seja executado apenas se x for maior que 8, ele deveria estar indentado.
Um outro erro está relacionado a estrutura de controle de fluxo if, que será vista em detalhes em um outro momento. Uma vez que o comando print não está indentado, o mesmo também não está contido no if, deixando-o vazio e isso vai causar um erro de sintaxe.
Parênteses são opcionais
Vale ressaltar que no Python não há a necessidade de fazer o uso de parêntesis para as estruturas de controle de fluxo como if, for e while. No PyCharm, isso será apontando como redundância, como podemos ver na Figura 1.
Nos Códigos 9 e 10 temos dois exemplos que mostram a diferença entre usar ou não os parênteses, mostrando que eles são opcionais.
x = 10
if (x > 8):
print("x é maior que 8")
x = 10
if x > 8: # nessa linha removemos os parêntesis
print("x é maior que 8")
Ambos os códigos estão corretos. Dessa forma, o Python se diferencia da maior parte das linguagens, nas quais a sintaxe exige que os parêntesis sejam usados.
Conclusão
Conhecer a sintaxe do Python é muito importante para escrever programas que funcionem corretamente. Uma vez que essa é uma linguagem diferente das demais em muitos aspectos, muitos dos conceitos apresentados aqui podem não ser óbvios e representam armadilhas para os iniciantes. Com esse artigo em mãos, principalmente se você vem de uma linguagem baseada em C, o aprendizado do Python poderá ser mais agradável e ágil.