検索
ホームページバックエンド開発Python チュートリアルPythonを勉強しているけど、main関数がまだ分からない?

Python の main 関数は、プログラムの実行ポイントとして機能します。Python プログラミングにおける main 関数の定義は、プログラムの実行を開始するための必須条件ですが、プログラムが直接実行される場合にのみ実行され、実行されません。モジュールとしてインポートされたときに実行されます。

Python main 関数の詳細については、次の点から段階的に学習していきます。

  • Python 関数とは
  • Python の main 関数Python 関数とは何ですか
  • 基本的な Python main() はどのようなものですか
  • Python 実行モード

始めましょう

とはPython 関数

関数については多くの友人がよく知っていると思います。関数は再利用可能なコード ブロックであり、プログラミング言語で操作を実行するための基礎を形成します。関数は、入力データの計算を実行し、ユーザーに提示される出力に使用されます。エンドユーザー。

関数とは、特定のタスクを実行するために記述されたコードであることを学びました。 Python の関数は、組み込み関数、ユーザー定義関数、無名関数の 3 種類に分類されます。同時に、main 関数は Python の他の関数と同じであり、違いがないことを明確にする必要があります。

それでは、Python の main 関数が何であるかを理解しましょう。

Python の main 関数とは何ですか

ほとんどのプログラミング言語には、プログラムが実行されるたびに自動的に実行される特別な関数があります。これが main 関数、または通常は main( を表します) )、これは本質的にプログラム実行の開始点です。

Python では、特定の関数を定義しない限り、Python インタプリタがファイルの先頭から実行されるため、プログラムを書くたびに main 関数を定義する必要はありません。したがって、Python プログラムの実行の開始点を定義すると、プログラムがどのように動作するかをより深く理解するのに役立ちます。

基本的な Python main()

ほとんどの 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 実行モード

Python インタープリターにコードを実行するように指示するには、主に 2 つの方法があります:

  • 最も一般的な方法この方法は、ファイルを Python スクリプトとして実行することです。
  • 必要なコードを 1 つの Python ファイルから別の Python ファイルにインポートすることにより、

どの実行モードを選択しても、Python は A文字列を含む __name__ という名前の特殊変数。前に見たように、この文字列の値はコードの実行方法によって異なります。

モジュールからインポートするときに、特定のモジュールの関数がインポートとして使用されているのか、それともそのモジュールの元の .py (Python スクリプト) ファイルだけが使用されているのかを知りたい場合があります。

この問題を解決するために、Python には __name__ という特別な組み込み変数があり、スクリプトの実行方法に応じて文字列 __main__ を割り当てることができます。

Python の __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 的变量中,最后打印该变量。

输出如下:

Pythonを勉強しているけど、main関数がまだ分からない?

使用 __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__ 变量来控制我们代码的执行。

输出如下:

Pythonを勉強しているけど、main関数がまだ分からない?

创建一个包含要运行代码的函数 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()。

来看一下输出:

Pythonを勉強しているけど、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() 函数,我们可以在需要时执行大量功能,还可以控制执行流程。

以上がPythonを勉強しているけど、main関数がまだ分からない?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
numpyを使用してマルチディメンシャルアレイをどのように作成しますか?numpyを使用してマルチディメンシャルアレイをどのように作成しますか?Apr 29, 2025 am 12:27 AM

Numpyを使用して多次元配列を作成すると、次の手順を通じて実現できます。1)numpy.array()関数を使用して、np.array([[1,2,3]、[4,5,6]])などの配列を作成して2D配列を作成します。 2)np.zeros()、np.ones()、np.random.random()およびその他の関数を使用して、特定の値で満たされた配列を作成します。 3)アレイの形状とサイズの特性を理解して、サブアレイの長さが一貫していることを確認し、エラーを回避します。 4)np.reshape()関数を使用して、配列の形状を変更します。 5)コードが明確で効率的であることを確認するために、メモリの使用に注意してください。

Numpyアレイの「ブロードキャスト」の概念を説明します。Numpyアレイの「ブロードキャスト」の概念を説明します。Apr 29, 2025 am 12:23 AM

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

データストレージ用のリスト、array.array、およびnumpy配列を選択する方法を説明します。データストレージ用のリスト、array.array、およびnumpy配列を選択する方法を説明します。Apr 29, 2025 am 12:20 AM

Forpythondatastorage、chooseLists forfficability withmixeddatypes、array.arrayformemory-efficienthogeneousnumericaldata、およびnumpyArrays foradvancednumericalcomputing.listSareversatilebuteficient efficient forlargeNumericaldatates;

Pythonリストを使用することが配列を使用するよりも適切であるシナリオの例を挙げてください。Pythonリストを使用することが配列を使用するよりも適切であるシナリオの例を挙げてください。Apr 29, 2025 am 12:17 AM

pythonlistsarebetterthanarrays formangingdiversedatypes.1)listscanholdelementsofdifferenttypes、2)adearedditionsandremovals、3)theeofferintutiveoperation likeslicing、but4)theearlessememory-effice-hemory-hemory-hemory-hemory-hemory-adlower-dslorededatas。

Pythonアレイ内の要素にどのようにアクセスしますか?Pythonアレイ内の要素にどのようにアクセスしますか?Apr 29, 2025 am 12:11 AM

toaccesselementsinapythonarray、useindexing:my_array [2] Accessesthirderement、Returning3.pythonuseszero basedIndexing.1)usepositiveandnegativeindexing:my_list [0] forteefirstelement、my_list [-1] exterarast.2)

Pythonでタプルの理解が可能ですか?はいの場合、どうしてそうでない場合は?Pythonでタプルの理解が可能ですか?はいの場合、どうしてそうでない場合は?Apr 28, 2025 pm 04:34 PM

記事では、構文のあいまいさのためにPythonにおけるタプル理解の不可能性について説明します。 Tupple式を使用してTuple()を使用するなどの代替は、Tuppleを効率的に作成するためにお勧めします。(159文字)

Pythonのモジュールとパッケージとは何ですか?Pythonのモジュールとパッケージとは何ですか?Apr 28, 2025 pm 04:33 PM

この記事では、Pythonのモジュールとパッケージ、その違い、および使用について説明しています。モジュールは単一のファイルであり、パッケージは__init__.pyファイルを備えたディレクトリであり、関連するモジュールを階層的に整理します。

PythonのDocstringとは何ですか?PythonのDocstringとは何ですか?Apr 28, 2025 pm 04:30 PM

記事では、PythonのDocstrings、それらの使用、および利点について説明します。主な問題:コードのドキュメントとアクセシビリティに関するドキュストリングの重要性。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター