Я использую Python и пытаюсь создать функцию, которая будет смотреть на имя объекта, заданного в качестве аргумента, и (среди прочего) создавать некоторые глобальные переменные, содержащие это имя, например:
object1=someclass(args,kwds) #the object is an instance of a class that is given a certain name (e.g.object1)
def somefunc(some_argument):
global tau_some_argument
global ron_some_argument #e.t.c. for other variables (I also would like to assign some variables etc)
tau_some_argument=some_value1
ron_some_argument=some_value2
print ron_some_argument
print tau_some_argument
Теперь то, что я хочу получить, если я вызову эту функцию, выглядит следующим образом: когда я вызываю
somefunc(object1)
, я хотел бы, чтобы он создал несколько глобалов с именами tau_object1, ron_object1 и назначил им значения (операторы печати не имеют значения), аналогично, если бы я вызвал
somefunc(object2)
, где object2 - это еще один экземпляр класса, я бы хотел, чтобы он создавал глобальные переменные: tau_object2, ron_object2, на данный момент функция просто создает глобальные переменные с именем tau_some_argument(как видно из кода).
Теперь я где-то читал, что имена объектов Python неизменны, если только они не являются классом или функцией, поэтому я не знаю, как это сделать, читая, я получаюощущение, что мне может понадобиться использовать мета-классы, но такое ощущение, что это слишком сложный способ сделать что-то, чтодолжно быть относительно легко.
Заранее спасибо.