I have to write a lot of Python code which will look like the following:
class MyClass(object):
...
...
...
def handle_request(self, request):
attr1 = self.__get_attr1(request)
self.__validate_attr1(attr1)
attr2 = self.__get_attr2(request)
self.__validate_attr2(attr2)
attr3 = self.__get_attr3(request)
self.__validate_attr1(attr3)
...
...
...
attrn = self.__get_attrn(request)
self.__validate_attrn(attr1)
To make my life easier I thought I could do the following:
class MyClass(object):
...
...
...
def handle_request(self, request):
attr_list = ('attr1', 'attr2', 'attr3', ..., 'attrn');
for a in attr_list:
locals()[a] = eval('self.__get_{}(request)'.format(a))
eval('self.__validate_{}'.format(a)
However when I run this code I'm getting a following error:
AttributeError: 'MyClass' object has no attribute '__get_attr1'
Clearly I'm missing something big but I'm not sure what exactly.
__get_attr1before using it.__get_attr1by any other means outsideeval?print(self.__get_attr1)