| O que iremos cobrir? |
|---|
| Operações que podemos executar com os dados, mais especificamente as operações aritméticas, operações com strings e operações lógicas (Boolean) e por fim operações com listas. |
Agora que sabemos como criar data de diferentes tipos e já sabemos como atribui-los a variáveis, para mais tarde as podermos utlizar mas o que podemos fazer com esses dados?, quais as formas de as manipular? É exactamente para isso é que servem os operadores. Eles trabalham nos dados. Não irei cobrir todos os operadores existentes no Python, em vez disso irei falar sobre os operadores que se podes encontrar em quase todas as linguagens.
Já deves estar familiarizado com a maioria destes operadores aritméticos, porque já os vimos a quase todos no capitulo das sequências simples. Contudo vamos recapitular:
| Operador | Descrição | Efeitos |
|---|---|---|
| M+N | Adição | (Aritmético) |
| M-N | Subtracção | (Aritmético) |
| M*N | Multiplicação | (Aritmético) |
| M/N | Divisão | (Aritmético) |
| M**N | M elevado N | (Aritmético) |
| M>>N | envia M, N lugares a direita | (Bitwise) |
| M< |
envia M, N lugares a esquerda | (Bitwise) |
| ~M | Complemento de M | (Bitwise) |
| M & N | Bitwise AND de M,N | (Bitwise) |
| M | N | Bitwise OR de M,N | (Bitwise) |
Existe um número de operações que posem ser efectuadas com strings, algumas dessas operações já vêm construídas na cerne do Python, mas muitas outras terão que ser Importadas( como fizemos com o sys no capitulo das Sequências simples).
| Operador | Descrição | Localização |
|---|---|---|
| S+T | Concatenação | Built in |
| S*N | Repetição | Built in |
| upper(S) | Maiúsculas S | módulo string |
| split(S) | Separa S em 'palavras' | módulo string |
| Operador | Descrição | Descrição |
|---|---|---|
| A and B | AND | verdadeiro se ambos A e B forem verdade |
| A or B | OR | verdadeiro tanto se um ou ambos forem verdade |
| A == B | Igualdade | verdadeiro se A e B forem idênticos |
| A <> B | Desigualdade | verdadeiro se A e B NÃO forem idênticos |
| not B | Desigualdade | verdadeiro se B não for verdade |
Nota: Repara que quase todos os operadores precisam de pelo menos dois valores para efectuar uma operação lógica, digo quase todos, porque o último operador apenas precisa de um valor.
| Operador | Descrição | Localização |
|---|---|---|
| L+J | Concatenação | Built in |
| L*N | Repetição | Built in |
| L[I] | Índice | Built in |
Todas as linguagens de programação hão-de ter uma ou outra operação que serão próprias da linguagem, e não acontecem em mais nenhuma linguagem. São estas particularidades que tornam as linguagens mais ou menos populares, entre os programadores.
Um exemplo dessas particularidades no Python são operações como List Slicing (uma forma de aceder aos elementos de uma lista através da sua posição dentro da lista) e o Tuple (que é a atribuição de varias variáveis ao mesmo tempo) ex: x,y = 12,13.
Algumas linguagens de programação dão-nos a hipótese de executar algo conhecido por Operator overloading, ou seja, é a possibilidade de o próprio programador de criar os seus próprios operadores, para novos tipos de dados que tenha desenvolvido. Outras linguagens (como o Lisp) vão ainda mais longe e permitem a modificação do comportamento dos operadores já existentes, mas em geral isso costuma ser uma péssima ideia, visto que o comportamento do programa torna-se virtual impossível de compreender (imaginem alguém redefinir o conceito de adição ou subtracção)
O Tcl, atreve-se a ir ainda mais longe, permitindo ao programador não só a redefinição do comportamento dos operadores já existentes, mas também permitindo também a redefinição da própria estrutura da linguagem ( estruturas essas que falaremos dentro de pouco). Isto é uma das ferramentas mais poderosas que o Tcl tem, mas por outro lado, pode se tornar numa fonte de confusão de usado de uma descuidada pelos programadores.
| Pontos a lembrar |
|---|
|
em caso que tenhas alguma dúvida ou queiras comentar esta página
envia-me um e-mail para:
babyboy@oninet.pt