Source

blogsamples / properties.py

import time
from datetime import date

class Pessoa(object):
    
    def __init__(self, nome = None, data_nascimento = None):
        self.nome = nome
        self.data_nascimento = data_nascimento
        
    def _calcula_idade(self):
        nascimento_time = time.strptime(self.data_nascimento, "%d/%m/%Y")
        nascimento = date(nascimento_time[0], nascimento_time[1], nascimento_time[2])
        hoje = date.today()
        
        diferenca = hoje - nascimento
        anos = divmod(diferenca.days, 365)[0]
        return anos
        
    idade = property(fget = _calcula_idade)
    
if __name__ == '__main__':
    p = Pessoa()
    p.nome = 'Francisco'
    p.data_nascimento = '16/02/1989'
    print '%s tem %d anos' %(p.nome, p.idade)