私は0
をpythonスクリプトのどこにも戻していますが、何かもっと意味のある、もっと読みやすい何かを好むでしょう。私はその魔法の番号が気に入らない。 Pythonでの考え方は、C
のように、0の代わりにEXIT_SUCCESS
を返すことができますか?私はここでそれを見つけることができませんでしたPythonにはEXIT_SUCCESS定数がありますか?
: https://docs.python.org/3.5/library/errno.html
私は0
をpythonスクリプトのどこにも戻していますが、何かもっと意味のある、もっと読みやすい何かを好むでしょう。私はその魔法の番号が気に入らない。 Pythonでの考え方は、C
のように、0の代わりにEXIT_SUCCESS
を返すことができますか?私はここでそれを見つけることができませんでしたPythonにはEXIT_SUCCESS定数がありますか?
: https://docs.python.org/3.5/library/errno.html
私は
0
return
を返すよあなたはPythonでスクリプトの終了コードを設定する方法ではありません。終了コード0で終了する場合は、スクリプトを正常に完了させるだけです。終了コードは自動的に0に設定されます。別の終了コードで終了する場合は、sys.exit
が使用するツールです。
関数内で0または1の戻り値を使用して、関数が成功したか失敗したかを示す場合、これは悪い考えです。何か問題が生じた場合は、適切な例外を発生させるべきです。
ここではreturn
について議論しているので、CのようなPythonをプログラミングしているようです。ほとんどのPython関数は、失敗した場合に例外を送出するように記述するのが理想です。検証関数の場合、おそらくTrue
またはFalse
をリテラルとして返すのではなく、s.isdigit()
のような式の結果として返すのが最も良いでしょう。
モジュールが関数ではないので、プロセスの戻り値をその環境に話すときは、return
を使用します。したがって、最上位のreturn
ステートメントは構文エラーとしてフラグが立てられます。代わりにsys.exit
を使用してください。
この点でPythonは少しシンプルに見えるかもしれませんが、引数のないsys.exit
の呼び出しは、デフォルトで成功します(つまり戻りコード0)。だからあなたのプログラムを単純化する最も簡単な方法は、失敗を示すことを望まない引数でコーディングを止めることです!
the documentationは、整数引数が返され、文字列引数の結果が戻りコード1
となり、文字列がstderr
に出力されます。
言語には、定数が含まれています(一部の環境に固有の機能はありますが、終了コードが提供されている場合はその値が実装固有またはプラットフォーム固有である必要があります)。
単純に 'return'。 –
なぜあなたは1つでも必要なのでしょうか?あなたの関数が失敗した場合は、エラーを発生させます*。 – jonrsharpe
' return'文を単独で使うと 'None 'return'ステートメントを省略すると' None'が返されますが、返された 'None'値を使用しない場合にのみ使用してください。 – gtlambert