Как динамически инициализировать переменную в соответствии с методом создания объекта в Python?Python

Программы на Python
Anonymous
Как динамически инициализировать переменную в соответствии с методом создания объекта в Python?

Сообщение Anonymous »

Код: Выделить всё

class obj(object):
def __init__(self):
self.name = ...  # How to set this variable dynaically by using the variable name (on create) or the object name?

var = obj()
print(var.name)  # should print "var" (assigned variable name), but how???

print(obj().name)  # prints "obj" when changing the ellipsis into self.__class__.__name__
В настоящее время оба они печатают «obj».
Как мне установить self.name в соответствии с тем, как obj< /code> создан объект?
Пример: я хочу напечатать «var», когда пишу var = obj(); print(var.name), в то время как он должен печатать "obj" в print(obj().name)
Еще одна вещь: Я не хочу передавать имя переменной в качестве аргумента, а хочу автоматизировать весь процесс.
Логика:
if obj назначается как переменная с именем var -> self.name = "var"
else: -> self.name = self.__class__.__name__< /код>

Подробнее здесь: https://stackoverflow.com/questions/784 ... ating-meth

Вернуться в «Python»