inicio mail me! sindicaci;ón

Creando accesores en Python

Python tiene una característica que son las propiedades, pero al no conocerlas bien y ser particulares de este lenguaje, he creado una minúscula aplicación que genera el código para iniciar y acceder (get y set) a las propiedades de un objeto.

Esencialmente, es una función a la que le pasamos el nombre de las propiedades y su valor inicial, por ejemplo:

buildAccessor([
        (‘configfile’,\’/etc/foo.conf\’),
        ])

Y esto nos genera el código que debemos incluir en el constructor, así como los métodos get y set:

self.__configfile = ‘/etc/foo.conf’

        def getConfigfile(self):
                return self.__configfile

        def setConfigfile(self, value):
                self.__configfile=value

Con lo que si hacemos una prueba:

class objectFoo:
        def __init__(self):
                self.__configfile = ‘/etc/foo.conf’

        def getConfigfile(self):
                return self.__configfile

        def setConfigfile(self, value):
                self.__configfile=value

if __name__==‘__main__’:
        test=objectFoo()
        print(‘test.getConfigfile() says \’ + test.getConfigfile() + \’)
        test.setConfigfile(‘/home/linz/.foo’)
        print(‘Now, test.getConfigfile() says \’ + test.getConfigfile() + \’)

Resulta esto:

pablo@golgi:~/Desktop/py-pwgen$ python test_buildAccessor.py
test.getConfigfile() says ‘/etc/foo.conf’
Now test.getConfigfile() says ‘/home/linz/.foo’
pablo@golgi:~/Desktop/py-pwgen$

He decidido ponerle una página estática, por que puede ser que en el futuro amplíe el trabajo, o incluso que lo suba un SVN.

Leave a Comment