Я работаю над программой, которая должна обрабатывать множества связных переменных. Я хочу, чтобы связать их все в класс, так что я могу получить доступ к ним интуитивно ...Создание переменных экземпляра в цикле for
class transition():
...
t1 = transition(stuff_to_initialize)
retrieve_that_variable = t1.that_variable_in_initialized_stuff
, но я хотел бы, чтобы иметь возможность объявить мой переменный экземпляр из для цикла:
class transition(object):
''' instance of a transition includes...
'''
# order convention for uncertainty terms Cij
__order = {'c11': 1, 'c22': 2, 'c33': 3, 'c12': 4, 'c13': 5, 'c23': 6}
__vector = {'Rx': 0.0, 'Ry': 0.0, 'Rz': 0.0}
def __init__(self, cij=__order, vector=__vector):
# Things that a transition instance must specify
self.layer_type = 0
for item in cij.keys():
self.item = 0
for item in vector.keys():
self.item = 0
но в этом примере после инициализации экземпляра transition
у меня есть только переменная экземпляра transition.item
.
Можно ли инициализировать переменные экземпляра из списка имен переменных?
Если я понимаю вас, вы хотите назвать эти вещи динамически? Почему бы просто не создать переменную, содержащую копию словарей, которые вы используете для справки? – BlivetWidget
Если я правильно вас понял, это [плохая идея] (http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html). – That1Guy