Python の main 関数は、プログラムの実行ポイントとして機能します。Python プログラミングにおける main 関数の定義は、プログラムの実行を開始するための必須条件ですが、プログラムが直接実行される場合にのみ実行され、実行されません。モジュールとしてインポートされたときに実行されます。
Python main 関数の詳細については、次の点から段階的に学習していきます。
始めましょう
関数については多くの友人がよく知っていると思います。関数は再利用可能なコード ブロックであり、プログラミング言語で操作を実行するための基礎を形成します。関数は、入力データの計算を実行し、ユーザーに提示される出力に使用されます。エンドユーザー。
関数とは、特定のタスクを実行するために記述されたコードであることを学びました。 Python の関数は、組み込み関数、ユーザー定義関数、無名関数の 3 種類に分類されます。同時に、main 関数は Python の他の関数と同じであり、違いがないことを明確にする必要があります。
それでは、Python の main 関数が何であるかを理解しましょう。
ほとんどのプログラミング言語には、プログラムが実行されるたびに自動的に実行される特別な関数があります。これが main 関数、または通常は main( を表します) )、これは本質的にプログラム実行の開始点です。
Python では、特定の関数を定義しない限り、Python インタプリタがファイルの先頭から実行されるため、プログラムを書くたびに main 関数を定義する必要はありません。したがって、Python プログラムの実行の開始点を定義すると、プログラムがどのように動作するかをより深く理解するのに役立ちます。
ほとんどの Python プログラム/スクリプトでは、次のような関数定義の後に条件文が続く場合があります:
def main(): print("Hello, World!") if __name__== "__main__" : main()
Is the main Python に必要な関数?
Python に main 関数があることは必須ではありません。ただし、上の例では、以下の main() 関数という名前の関数が条件付き if ステートメントであることがわかります。 __name__ の値をチェックし、文字列 __main__ と比較します。True の場合、main() が実行されます。
実行すると「Hello, World!」と出力されます。
このコード パターンは、Python スクリプトとして実行されるファイル、または他のモジュールにインポートされるファイルを扱う場合に非常に一般的です。
このコードがどのように実行されるかを詳しく見てみましょう。まず、Python インタープリターの設定 __name__ がコードの実行方法に依存することを理解することが非常に必要です。それでは、Python の実行モードについて学びましょう
Python インタープリターにコードを実行するように指示するには、主に 2 つの方法があります:
どの実行モードを選択しても、Python は A文字列を含む __name__ という名前の特殊変数。前に見たように、この文字列の値はコードの実行方法によって異なります。
モジュールからインポートするときに、特定のモジュールの関数がインポートとして使用されているのか、それともそのモジュールの元の .py (Python スクリプト) ファイルだけが使用されているのかを知りたい場合があります。
この問題を解決するために、Python には __name__ という特別な組み込み変数があり、スクリプトの実行方法に応じて文字列 __main__ を割り当てることができます。
Python main 関数は、Python プログラムへの入り口です。プログラムを実行すると、インタープリターによってコードが順番に実行されます。モジュールとしてインポートされた場合、main 関数は実行されません。main 関数は、Python プログラムとして実行された場合にのみ実行されます。
したがって、スクリプトを直接実行すると、Python は __main__ を __name__ に割り当てます (つまり、 __name__="__main__")。
したがって、条件ステートメントが True と評価された場合は、.py (Python スクリプト) ファイルが実行中であるか、直接実行されていることを意味します。
注意すべき重要な点の 1 つは、Python シェルまたはターミナルで何かを直接実行する場合、この条件ステートメントはデフォルトで True になるということです。
最終的に、私たちは習慣的に必要な関数定義をすべてコード ファイルの先頭に記述し、最終的にこのステートメントをファイルの最後に記述してコードを整理しました。
if __name__ == "__main__" : Logic Statements
つまり、__name__ 変数は、ファイルが直接実行されたかインポートされたかを確認するのに役立ちます。
main 関数を使ったプログラムを書くときは、次のことに注意する必要があります。
関数とクラスをできるだけ使用します。
长期以来,我们一直在学习面向对象编程的概念及其优势,所以绝对有必要将批量逻辑代码放在紧凑的函数或类中。通过这种方式,我们可以控制代码的执行,而不是让 Python 解释器一导入模块就执行它。
让我们看看下面的一段代码:
def get_got(): print("…Fetching GOT Data… n") data="Bran Stark wins the Iron Throne. n" print("…GOT Data has been fetched…n") return data print("n Demo: Using Functions n") got=get_got() print(got)
在上面的示例中,我定义了一个名为 get_got 的函数,它返回存储在变量 data 中的字符串。然后将其存储在名为 got 的变量中,最后打印该变量。
输出如下:
使用 __name__ 来控制代码的执行
现在我们知道了什么是 __name__ 变量,那么该如何以及为什么使用它。让我们看看下面的代码片段:
if __name__ == "__main__": got = "Game of Thrones is a legendary shown" print(got) new_got = str.split(got) print(new_got)
在上面的示例中,条件 if 语句将比较变量 __name__ 的值与字符串 __main__。当且仅当它的计算结果为 True 时,才会执行下一组逻辑语句。由于我们直接运行程序,我们知道条件语句将是 True。因此语句被执行,我们得到了想要的输出。这样我们就可以使用 __name__ 变量来控制我们代码的执行。
输出如下:
创建一个包含要运行代码的函数 main()。
到目前为止,我们已经了解了 Python 代码的各种执行方式,同时我们还知道为什么以及何时使用 main() 函数,下面就来应用它。看下面这段代码:
print("n Main Function Demo n") def demo(got): print("…Beginning Game Of Thrones…n") new_got = str.split(got) print("…Game of Thrones has finished…n") return new_got def main(): got= "n Bran Stark wins the Iron Throne n" print(got) new_got = demo(got) print(new_got) if __name__ == "__main__": main()
在上面的例子中,我们使用了 main() 的定义,它包含了我们要运行的程序逻辑。我们还定义了一个名为 demo 的函数,包含一段代码,可以在必要时复用。此外我们还更改了条件块,使其执行 main()。
这样,我们将要运行的代码放在 main() 中,将编程逻辑放在一个名为 demo 的函数中,并在条件块中调用 main()。
来看一下输出:
可以尝试一下,如果将此代码作为脚本运行或导入它,则输出将是相同的。
从 main() 调用其他函数
当我们编写成熟的 Python 程序时,可能有许多可以调用和使用的函数。通常情况下,一些函数应该在程序开始执行时立即调用。因此,从 main() 本身调用其他函数就是最佳的选择了。
让我们看看下面的代码片段:
print("n Main Function Demo n") def demo(got): print("…Beginning Game Of Thrones Demo1…n") new_got = str.split(got) print("…Game of Thrones has finished…n") return new_got def getgot(): print("…Getting GOT Data…n") got="Bran Stark wins the Iron Throne n" print("…GOT Data has been returned…n") return got def main(): got= getgot() print(got) new_got = demo(got) print(new_got) if __name__ == "__main__": main()
在上面的示例中,我们定义了一个名为 getgot() 的函数来获取数据,这个函数是从 main() 本身调用的。
因此,从 main() 中调用其他函数以将整个任务从可以独立执行的较小子任务中组合起来总是较好的选择。
输出如下:
希望通过这篇文章,对于 Python 中 main() 函数的全部内容以及如何使用它有一个全面而正确的理解。借助 Python 中的 main() 函数,我们可以在需要时执行大量功能,还可以控制执行流程。
以上がPythonを勉強しているけど、main関数がまだ分からない?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。