このコード行 if __name__=="__main__": は、実際の目的を知らずに、Python スクリプトでよく目にしたことがあるかもしれません。この短いブログでこれについて説明しますので、ご心配なく
プログラムまたはスクリプトを直接実行すると、Python は自動的に「main」を特別な name 変数に割り当てます。これは基本的に、ファイルがここでは「メイン」スクリプトであり、別のスクリプトにインポートされるのではなく直接実行されていることを示すために行われます。
これを理解するには、新しい Python スクリプトを作成します。たとえば、「example.py」という名前を付けて次のように書きます。
リーリー
次に、別の Python スクリプト ファイルを作成し、
example.py をこのファイルにインポートします。実行すると、「スクリプト名: example」という別の結果が表示されます。これは単に、スクリプトを直接実行するのではなく、スクリプトをインポートして間接的に実行しているためです。したがって、Python はファイルの実際の名前を表示するようになりました。
さらによく理解できるように、サンプル ファイルにいくつかの変更を加えてみましょう。
リーリー
これは if 条件によるものです。条件文が行うことは、ファイルが直接実行されているかどうかを確認することです。直接実行されている場合、
main は特別な変数 name に代入され、これによりこの条件が true になり、条件内のすべてが通常どおり実行されます。
一方で、それを別のファイルにインポートして、そこから間接的に実行している場合、条件ステートメントは true ではなくなり、条件ステートメント内に配置されたものは実行されません。これがこの条件文の重要性です。
スクリプトをモジュールとしてインポートするときに、Python インタープリターが不要なコード行を自動的に実行するのを防ぎます。
ただし、スクリプトをモジュールとしてインポートしている場合でも、これらの関数を呼び出すことができます。例:
リーリー
以上がPython で __name__ =__main__ を実行するとどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。