最初に言っておきますが、このトピックが適切かどうかはわかりませんが、問題を 1 行で説明するのは非常に困難です。
その後、イベント全体について説明します。
私はpythonでプログラムを書いています。そこでは、いくつかのメソッドとこれらのメソッドの1つ(method1)を持つクラスがあり、クラスの別のメソッド(method2)を構成データのリストのループで実行し、method2でいくつかを呼び出しますクラスの他のメソッド。コードは次のようなものです。
class myClass():
def method1(self):
for member in some_list:
method2(member)
def method2(self, member):
do something with the member
self.method3()
self.method4()
self.method5()
...
method2 では、メソッド内から method2 を停止したい状況がいくつかあります。たとえば、method3またはmethod4にいるときに、method2を停止したい場合があります。
assert
プログラム全体を停止し、この特別なメンバーをスキップして method1 のループを続行したいだけなので、使用したくありません。言い換えれば、リストの一部のメンバーは、method2 を続行できない状況を作り、そこで停止して、リストの次のメンバーのために method2 のプロセスを開始する必要があります。
True 値と False 値を返し、それをチェックして、return
キーワードで停止するかどうかを判断できるようになりましたが、このアプローチは使用したくありません。私が実際に望んでいるのは、そのような状況で呼び出すメソッドを作成することです。メソッドは method2 の実行を停止し、method1 の最初のループに戻って別のメンバーを選択します。例を書くことができます:
def method3(self):
do something
if some_special_situation:
method_stop()
else:
continue execution
def method_stop():
do something to stop the method which is calling it
and the method that the first method is called there
I mean if method2 is calling method3 and method3 is calling method_stop
method_stop should stop both method2 and method3
この質問がどれほど明確かはわかりませんが、説明が必要な場合は私に聞いてください。どんな助けにも感謝します。