var_doesHave = True
class A:
global var_doesHave
var_doesHave = False
# Call Class B
class B:
if (var_doesHave):
# do foo
else:
# do bar
次のようなpython luigiパイプラインコードがあります。端末を調べてみると、プログラムはクラス A を呼び出して dosHave = false を設定しているように見えますが、クラス B を実行する前に、dosHave は true に戻ります。
基本的に、「bar」を実行したいのですが、グローバル変数が true に戻り続けるため、「foo」を実行し続けます。
なぜこれが起こっているのか誰か説明できますか?これは、Python 自体ではなく、Luigi Pipeline と関係があるとほぼ確信しています。