Blog Geo.NET Geoprocessamento, SIG e Sensoriamento Remoto

11Mar/100

OOP com python – Uma breve introdução.

Olá pessoal, tudo bem?

Tem muita novidade vindo, mas não é hora, nem  lugar, nem o tema para falar sobre. Mas como o show tem que continuar, trago para vocês uma breve introdução sobre Orientação a Objetos com Python. Confesso que já venho estudando Python a algum tempo, mas nunca com tanta intensidade quanto agora, isso por que surgiram projetos para trabalhar com geodjango (uma framework web em python) e a descobri pyqgis.

Deixando de enrolação...

Bem, Python é uma liguagem Orientada a Objetos, mas que permite que você desenvolva aplicativos programando estrutural, é uma liguagem interpretada, que não exige que você indique o tipo da variável (dinamicamente tipada), possui fácil controle de bloco, o que te prende só ao código, sem ter que perder tempo analisando símbolos em casos de erro de sintaxe, e o melhor de tudo, é livre!

Para melhor compreensão, precisamos entender alguns conceitos, como classe, objeto, atributo e método. Para ser diferente (ou não!), começo falando de objetos. Objetos são todas as coisas as quais você deseja abstrair. Bem, você é um objeto! Como assim eu tou louco? É verdade, você é um objeto. Melhor, você alem de ser um objeto, você faz parte de uma classe... Não, esquece a geografia por equanto, que mané classe social... eu estou afirmando que você faz parte de uma classe, a dos Humanos. Legal né? Continuando, seus atributos, de fato são seus atributos (ou características, como queiram.), e os métodos, bem, esses se referem as ações tomadas por você hoje. Acho que você acordou, comeu, andou... Isso são os métodos, as ações tomadas pelos objetos!

E como desenvolver usando OOP com Python?

Para o desenvolvimento em Python usando OOP, é preciso conhecer algumas palavras reservadas, como class, que se refere a uma classe de objetos abstraídos, self que é um parametro que possibilita você fazer referencia a um argumento, substitui o this do Java, dentre outras que veremos conforme a necessidade.

Para exemplificar vou criar aqui um programa bastante simples que pede para você inserir uma mensagem, e esta mensagem é retornada para você. Vejamos:

class Mensagem:
def __init__ (self,pessoa,texto):
self.nome = pessoa
self.opniao = texto

def __str__(self):
saida = self.nome+ ' escreveu: n' +self.opniao
return saida

nome_saida = raw_input ('Digite seu nome: ')
opniao_saida = raw_input ('O que você achou? n')
print Mensagem(nome_saida,opniao_saida)


Explicando o código:

No método __init__ da classe Mensagem, foram jogados dois parametros: pessoa e texto. O self, primeiro parametro apresentado é padrao da linguagem, entao é conveniente utilizá-lo.

O trecho self.nome e self.opniao, sao referencias (instanciação)dos objetos antes apresentados: pessoa e texto.

O método __str__(), é mais um método mágico do Python, que determina o que será retornado do objeto.[1]

Perceba que este código sempre que invocado, ira inserir valores setados pelo usuário nos mesmo objetos, o que pra mim, é o segredo da OOP.

Finalizando

Bem, acho que deu para ter noção de como usar OOP em Python. Para maiores referencias sobre o assunto, aconselho visitar a Página da comunidade brasileira

Em breve, outras ferramentas Python... mas isto fica para um próximo post.

P.S.: Agradeço as correções sugeridas pelo amigo George, feitas no código, e ainda os ensinamentos sobre OOP.

Abraço a todos.

Vicente Martins

Related posts:

  1. #Python – o que é?
  2. Usando Python e o geoprocessing framework #2
  3. #Python – pt2
  4. #Python – pt3
  5. Introdução ao GeoDjango
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes