Господа! Имею желание по переданному в конструктор списку параметров (a, b, c) создать в классе члены-функции - геттеры, т.е. класс должен содержать методы geta(), getb(), getc().
class createNewEntryClass:
def __init__(self, args):
for arg in args:
argname = func = 'get' + arg
def func():
print arg
print 'func: ', func, 'arg: ', argname
print 'func: ', func, 'arg: ', argname
setattr(self, argname, func)
argslist = ('a', 'b', 'c')
klass = createNewEntryClass(argslist)
print dir(klass)
klass.geta()
klass.getb()
klass.getc()
func: <function func at 0xb7354764> arg: geta
func: <function func at 0xb7354df4> arg: getb
func: <function func at 0xb735a5a4> arg: getc
['__doc__', '__init__', '__module__', 'geta', 'getb', 'getc']
c
func: <function func at 0xb735a5a4> arg: getc
c
func: <function func at 0xb735a5a4> arg: getc
c
func: <function func at 0xb735a5a4> arg: getc
В результате, как видно, вызывается все 3 раза getc()
Как решить правильно? Спасибо!