終了条件をチェックするために関数を呼び出すと、break文を返せますか?次のようなものがあります:Python - break文を返す
def check():
return break
def myLoop:
while myLoop:
check()
このようなものはありますか?私は書かれた構文が有効ではないことを知っています。
終了条件をチェックするために関数を呼び出すと、break文を返せますか?次のようなものがあります:Python - break文を返す
def check():
return break
def myLoop:
while myLoop:
check()
このようなものはありますか?私は書かれた構文が有効ではないことを知っています。
いいえ、残念ながらそのようには機能しません。戻り値をチェックしてから、呼び出し元のループを抜け出す必要があります。もちろん
while myLoop:
result = check()
if result == 'oh no':
break
、あなたがやろうとしているものに応じて、それだけのような単純なものがあります。それはインタプリタによって異なって処理されるように
result = check()
while result != 'oh no':
result = check()
break
がキーワードではなくオブジェクトであります、link。 Python関数はオブジェクトなどを返すだけです。
あなたはとき奥深く機能ループから抜け出すにしたい場合は、一つの方法は、例外を使用することです:
class BreakException(Exception):
pass
は、どこかの関数で例外を上げる:
def some_func():
raise BreakException()
そして、あなたを
try:
while True:
some_func()
except BreakException:
pass
私はこれが良い習慣だとは思わないが、somを見たことがあるそれを使用するe言語、Scala(例:link)。
ああ、知っておきたいことです。間違いなく危険だと思われますが、私はそれを念頭に置いています。ありがとう! – jylny
Ah、ok。答えをありがとう! – jylny