Python で __name__ =&#__main__&# を実行するとどうなりますか?

PHPz
リリース: 2024-07-29 07:00:03
オリジナル
305 人が閲覧しました

What does if __name__ =

このコード行 if __name__=="__main__": は、実際の目的を知らずに、Python スクリプトでよく目にしたことがあるかもしれません。この短いブログでこれについて説明しますので、ご心配なく

プログラムまたはスクリプトを直接実行すると、Python は自動的に「main」を特別な name 変数に割り当てます。これは基本的に、ファイルがここでは「メイン」スクリプトであり、別のスクリプトにインポートされるのではなく直接実行されていることを示すために行われます。

これを理解するには、新しい Python スクリプトを作成します。たとえば、「example.py」という名前を付けて次のように書きます。
リーリー

これを実行すると、「スクリプト名: __main__」という出力が表示されます。これは単にファイルが直接実行されているためです。

次に、別の Python スクリプト ファイルを作成し、

example.py をこのファイルにインポートします。実行すると、「スクリプト名: example」という別の結果が表示されます。これは単に、スクリプトを直接実行するのではなく、スクリプトをインポートして間接的に実行しているためです。したがって、Python はファイルの実際の名前を表示するようになりました。

さらによく理解できるように、サンプル ファイルにいくつかの変更を加えてみましょう。


リーリー

これを直接実行すると、すべてが完全に実行されますが、example.py スクリプトをインポートしている他のファイルを実行すると、greet 関数の呼び出しが実行されていないことがわかります。それはなぜですか?

これは if 条件によるものです。条件文が行うことは、ファイルが直接実行されているかどうかを確認することです。直接実行されている場合、

main は特別な変数 name に代入され、これによりこの条件が true になり、条件内のすべてが通常どおり実行されます。

一方で、それを別のファイルにインポートして、そこから間接的に実行している場合、条件ステートメントは true ではなくなり、条件ステートメント内に配置されたものは実行されません。

これがこの条件文の重要性です。

スクリプトをモジュールとしてインポートするときに、Python インタープリターが不要なコード行を自動的に実行するのを防ぎます。

ただし、スクリプトをモジュールとしてインポートしている場合でも、これらの関数を呼び出すことができます。例:


リーリー

このようにして、条件が満たされない場合でも、インポートされたモジュールから関数を完全に呼び出すことができます。

以上がPython で __name__ =&#__main__&# を実行するとどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!