我有一個關於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