ホームページ > バックエンド開発 > Python チュートリアル > Python の「main()」関数が実行されないのはなぜですか?

Python の「main()」関数が実行されないのはなぜですか?

DDD
リリース: 2024-12-13 03:57:09
オリジナル
845 人が閲覧しました

Why Doesn't My Python `main()` Function Run?

Python のスクリプト実行を理解する: main() 関数が実行できない理由

Python スクリプトを使用する場合、インタプリタがスクリプトのエントリ ポイントをどのように決定するかを把握することが重要です。実行。この質問では、main() 関数の実行に失敗し、スクリプトの予期された動作が妨げられる問題について説明します。

問題:

次のコードがあるとします:

import sys

def random(size=16):
    return open(r"C:\Users\ravishankarv\Documents\Python\key.txt").read(size)

def main():
    key = random(13)
    print(key)
ログイン後にコピー

スクリプトを実行すると、明らかなエラーがないにもかかわらず、出力が生成されません。ユーザーは、スクリプトが key.txt ファイルの内容を表示することを意図しています。

答え:

問題は、main( ) スクリプト内の関数。 Python スクリプトを実行する場合、インタープリターは main() 関数を自動的に呼び出しません。この関数を実行するには、スクリプト内で明示的に呼び出す必要があります。

これを解決するには、2 つの一般的なアプローチがあります:

  • オプション 1: を単に追加します。スクリプトの最後にある次の行:
main()
ログイン後にコピー

これは、 main() 関数を使用し、その実行を保証します。

  • オプション 2: 次のコード ブロックを使用します。
if __name__ == "__main__":
    main()
ログイン後にコピー

このコードは、 main() 関数は、スクリプトがプライマリ モジュールとして実行される場合にのみ呼び出されます。このメソッドは、特定のスクリプトへのエントリ ポイントを分離し、モジュールとしてインポートされたときにそのスクリプトが呼び出されるのを防ぎます。

追加の洞察:

  • Python の実行フロースクリプトはモジュール構造によって決まります。各スクリプトは、別のモジュールの一部として埋め込まれていない限り、モジュールとして扱われます。
  • main() 関数は、スクリプトの主要ロジックを実行するためのエントリ ポイントとして機能します。
  • main( ) 関数を明示的に使用すると、スクリプトの開始点を制御して、目的の実行フローを確保できます。

以上がPython の「main()」関数が実行されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート