У меня вопрос о классах в Python. Я создал класс, который выглядит примерно так:Назначить глобальную переменную внутри класса из переменной класса
class Model(Object):
__table__ = 'table_name'
def func():
def func2():
Имя таблицы - это глобальная переменная, с которой функции передаются. Я пытаюсь добавить старые данные, поэтому я хотел бы изменить имя таблицы в зависимости от того, заполняюсь ли я из старой информации, поэтому я и попытался это сделать.
class Model(Object):
def __init__(self, backfill = False):
self.backfill = backfill
if self.backfill:
__table__ = 'table_name'
else:
__table__ = 'table_name2'
def func():
def func2():
Последний вызов будет что-то вроде этого:
if backfill:
model = Model(True).func()
else:
model = Model.func()
Тогда я понял, что это не будет работать, потому что я не могу назвать self.backfill из-за пределов определений классов. Я даже попытался создать определение и вызвать его внутри класса, но это тоже не сработало.
Мой вопрос:
- Есть ли способ, чтобы инициализировать глобальную переменную внутри класса от переменных класса? Или есть лучший способ сделать это в целом?
* Имя таблицы является глобальной переменной, функции подпитывают * - вы можете уточнить, что вы имеете в виду под «подпитывают»? – Li357
Вы посмотрели http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them – WookieCoder
'__table__' не является * глобальная переменная *. Это атрибут класса 'Model'. – zvone