segunda-feira, 8 de agosto de 2016

Variáveis em Python

Cá estamos mais uma vez.
Até agora vimos que podemos usar o IDLE do Python como uma calculadora, mas claro que podemos fazer muito mais! Imaginemos que queremos usar sempre o mesmo valor para vários cálculos, por exemplo o valor de π = 3,14159265. Em vez de estarmos sempre a escrever todas estas casas decimais, podemos guardar este valor numa variável. Como? Veja o exemplo:
>>> pi = 3.14159265
>>> pi
3.14159265
O que aconteceu? Criámos uma variável de nome pi à qual atribuímos o valor 3,14159265, colocando o = a seguir ao nome da variável e finalmente o valor que lhe queremos atribuir (os espaços antes e depois do = são opcionais). Depois perguntámos qual o valor da variável ao escrever pi e obtivemos o resultado. Simples, não é? Repare que, se tivéssemos escrito pi antes de lhe atribuir um valor, iria resultar num erro:
>>> Pi
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    Pi
NameError: name 'Pi' is not defined
Mas, se já definimos pi, porque é que agora deu erro? Repare na diferença, o segundo foi escrito Pi, com letra maiúscula, e não pi. Sim, primeiro detalhe a reter: os nomes das variáveis são sensíveis à capitalização das letras. E quais são os nomes permitidos para variáveis? Bem, só podem conter as letras de a-z, A-Z, algarismos de 0-9 e o traço de sublinhado _; e o nome não pode começar por um algarismo. Assim, os nomes asd_27, _1uif, Python e aSd_27 são permitidos (e todos diferentes), enquanto $ers, 45asdf, perc% ou AAA-R não são permitidos.
E claro que agora podemos fazer cálculos com as variáveis criadas:
>>> pi*2
6.2831853
>>> pi*pi
9.869604378534024
>>> pi = pi + 3
6.14159265
Repare que, na última linha, alterámos o valor de pi ao adicionarmos-lhe 3. Daí o nome variável, porque o seu valor pode variar... que é o que mais acontece quando se programa.
Bem, e se quiséssemos atribuir o mesmo valor a várias variáveis? Uma maneira seria:
>>> a=2
>>> b=2
>>> c=2
Mas o Python tem uma maneira mais fácil de o fazer:
>>> a=b=c=2
Usando a sintaxe acima, atribuiremos de uma só vez o valor 2 a cada uma das três variáveis. Mas e se quisermos atribuir valores diferentes? Podemos fazê-lo do modo seguinte:
>>> um,dois,tres = 1,2,3
>>> dois
2
Assim, se separarmos variáveis com vírgulas e a seguir ao = colocarmos os valores a atribuir também separados por vírgulas, podemos fazer várias atribuições ao mesmo tempo. E se quisermos ver-nos livres de uma variável? Também o podemos fazer com:
>>> del dois
>>> dois
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    dois
NameError: name 'dois' is not defined
Usando o comando del seguido do nome da variável, apagamo-la e perdemos o seu valor. Giro, não é? Mas da próxima vez vamos falar dos vários tipos de variáveis...

Sem comentários:

Enviar um comentário