PYTHON:FUNDAMENTOS DA LINGUAGEM

Na lição anterior já criamos uma Classe. Genericamente, uma Classe é sempre criada com:

class TalClasse():
   def __init__(self, par1, par2):
      #linhas de código

dentro da Classe podemos definir variáveis (propriedades) e funções (métodos) com:

   def TalFunc(self, pary):
      #linhas de código

Uma função tem sempre que ter "self" como primeiro parâmetro. Mas ele não vai aparecer numa "chamada" da função.

Importante ressaltar que variáveis criadas dentro duma função são locais à função.

Se uma variável definida fora da função é passada como parâmetro ela é "passada por valor" - o que significa que, se mudarmos o valor dela dentro da função isso não se reflete no seu valor fora da função.

Mas se o valor de um parâmetro for um propriedade de uma outra Classe, o valor muda externamente.

Uma função pode retornar algo se for usado o: return

Uma função "chamada" dentro da própria Classe tem que ter o prefixo: "self".

Podemos colocar funções em um outro arquivo (com extensão py - o que é chamado de "módulo") e "importar" esse módulo dentro de nosso arquivo principal de script. Se o módulo se chama: foo3.py e tem uma função func1(self, p1) usamos:

import foo3
e poderemos usar a função com o prefixo que é o nome do arquivo, por exemplo:
foo3.func1(7)

Na lição anterior vimos que se pode importar um elemento de um módulo também com, por exemplo:

from foo3 func1

Nesse caso, usamos o elemento sem nenhum prefixo.

Uma Classe deve ser "instancializada" para que tenhamos um prefixo para chamar seus elementos:

tc = TalClasse()
tc.TalFunc(9,5)

Às vezes se usa o próprio nome da Classe como prefixo.

Dentro dos princípios da Programação Orientada a Objetos, podemos criar uma Classe "herdeira" de uma existente com:

class TalHerd(TalClasse):

Poderemos fazer um "override" de uma função da classe-mãe criando outra com mesmo nome na classe-filha. Querendo usar o método da classe-mãe podemos escrever:

TalClasse.TalFunc(65,28)

Os operadores mais comuns do Python são:

Os scapes mais comuns são os usuais:

\n   nova linha
\'   apóstrofo
\"   aspas
\ no fim de uma linha significa que ela deve ser continuada na posterior.

As conversões mais comuns são feitas - sendo a um número ou string - com:

float(a)
int(a)
long(a)
str(a)

Os blocos de controle "tradicionais" têm os seguintes formatos no Python:

if expressão booleana:
   #fazer algo
elif expressão booleana:
   #fazer algo
else:
    #fazer algo

Os valores booleanos são True ou False. E temos um nulo como: None.

Uma observação importante: não temos um bloco FOR como nas outras linguagens. No Python, o FOR trabalha com os objetos(?): "list" e "dictionary" que vamos ver mais a frente. Ou com arquivos (também vamos ver isso).

Mas temos o:

while expressão booleana:
   #fazer algo

Temos também o break para sair e o continues para iniciar novo loop.

Uma coisa interessante do Python é que ele tem o pass, que não faz nada mas às vezes é necessário quando precisamos fechar um bloco sem fazer nada, como no caso da administração de excessões que é feita com:

try:
    #tal coisa
except:
    #tal coisa

Às vezes podemos não ter nenhuma rotina para o caso de erro. Então temos que usar um pass.


LIÇÂO ANTERIOR PRÓXIMA LIÇÂO
ÍNDICE HOMEPAGE