Pythonでクラスについて質問があります。私は次のようなクラスを作成しています。クラス内のグローバル変数をクラス変数に代入
class Model(Object):
__table__ = 'table_name'
def func():
def func2():
テーブル名は、関数が提供するグローバル変数です。古い情報を追加しようとしているので、古い情報から記入しているかどうかによってテーブル名を変更したいので、これは私が試したものです。
if backfill:
model = Model(True).func()
else:
model = Model.func()
は、その後、私は、私はクラス定義の外からself.backfill呼び出すことはできませんので、これは動作しません実現:
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():
最終呼び出しは、このようなものになるだろう。私は定義を作成し、それをクラスの中で呼び出そうと試みていましたが、それはどちらもうまくいかなかったのです。
私の質問は:
- は、クラス変数からクラス内のグローバル変数を初期化する方法はありますか?あるいは、これを一般的に行うより良い方法がありますか?
:あなただけ
__init__
方法でそれを定義することができますか? – Li357あなたはhttp://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-theone-that-created-themを見ましたか – WookieCoder
'__table__'は*グローバル変数*。 'Model'クラスの属性です。 – zvone