#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
модуля. Не из модуля, в который вы импортируете