我有一个关于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