if __name__ == '__main__':
Pythonスクリプトでは、スクリプトを2つの異なる方法で使用できるようにすることです。スタンドアロンプログラムとして、およびインポート可能なモジュールとして。 Pythonスクリプトを直接実行すると、特別な__name__
変数が文字列'__main__'
に設定されます。ただし、同じスクリプトがモジュールとして別のスクリプトにインポートされている場合、 __name__
モジュールの名前に設定されます。 if __name__ == '__main__':
条件を使用することにより、スクリプトが直接実行されたときにのみ実行されるコードを書くことができます。モジュールとしてインポートされている場合ではありません。これにより、初期化コード、テストコード、および特定の条件下でのみ実行されることを意図したその他のコードの分離が可能になります。
if __name__ == '__main__':
:
if
ブロック内のコードが実行されないため、他のスクリプトが不要な副作用なしにモジュールで定義されている機能とクラスを使用できます。 Pythonスクリプトが実行されると、 __name__
変数はPythonインタープリターによって自動的に設定されます。スクリプトがメインプログラムとして実行されている場合(つまり、インポートされていません)、 __name__
は'__main__'
に設定されます。 if __name__ == '__main__':
ステートメントはこの条件をチェックします。 trueの場合、このブロック内のコードが実行されます。 false(スクリプトがインポートされたことを意味する)の場合、このブロック内のコードがスキップされます。
たとえば、次のスクリプトのexample.py
を考えてください。
<code class="python">def greet(name): print(f"Hello, {name}!") if __name__ == '__main__': greet("World")</code>
example.py
が直接実行されると、「hello、world!」を印刷します。ただし、別のスクリプトがexample.py
をインポートする場合、 if
ブロック内のgreet("World")
行は実行されませんが、 greet
関数はインポートスクリプトから明示的に呼ばれます。
if __name__ == '__main__':
Pythonでいくつかの利点があります。
if __name__ == '__main__':
、理解して使用することにより、Python開発者はより汎用性の高い保守可能なスクリプトを作成できます。
以上が__name__ == '__main__'の目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。