Члены класса теряются при импорте функции / класса

#python #python-3.x

#питон #python-3.x

Вопрос:

Я теряю своих членов класса, когда вызываю функцию из импортированного файла, чтобы добавить члена класса (определение класса в том же файле). Когда определение функции и класса находится в main.py файл, очевидно, работает. Вот пример кода:

test.py

 from functions import*

load_list_into_class("one")
print("test")
 

functions.py

 class testclass:
    pass

def load_list_into_class(listname):
    globals()[listname] = testclass()
 

Что я могу сделать, чтобы сохранить членов моего класса после вызова load_list_into_class функции?

Может быть, это глупый вопрос, я только начал изучать Python 🙂

Комментарии:

1. Ваш отступ правильный?

2. что заставляет вас думать , что это не работает ? globals() должен содержать «один» после вызова this … даже в другом импортированном файле

3. идентификация должна быть в порядке. Это не работает, я не могу получить доступ к «one» как к объекту класса. Сообщение об ошибке: ошибка имени: имя «один» не определено

4. Как вы думаете, почему это не работает? Что вы подразумеваете под «членами класса» здесь? Ваша функция, load_list_into_class , которая в основном просто выполняет globals()[listname] = testclass() , является ужасной практикой. Почему вы динамически изменяете такие глобальные переменные?

5. В любом случае, вы изменяете глобальное пространство имен function модуля. Не из модуля, в который вы импортируете