Pythonで「if__name __ == '__ main__'」ステートメントを使用する必要があるのはなぜですか

まず、最も簡潔な言語を使用して、if __name__ == '__ main __' ::の役割を説明し、他のファイルによってインポートされたときに冗長なプログラムの主要部分が表示されないようにします

 

例を挙げると、__ name__ == '__ main __':が使用されていない場合、どうなりますか。

最初にyy.pyでcs.pyを呼び出します

#yy.py
import cs
print('引用cs')
cs.cs()
print('程序结束!')

cs.pyファイルは次のとおりです

#cs.py
def cs():
    print('一打开cs!')
 
print('cs主函数!')

操作の結果は次のようになります。

cs主函数!
引用cs
一打开cs!
程序结束!

分析:言い換えると、目的がcs.pyのcs()関数を呼び出すことだけである場合は、インポート時にimportcsを使用しないでください。

importcsを使用すると 

次に、この文に対してインポートコードが実行されると、cs.pyが自動的に1回実行されます。cs.pyの関数はカプセル化されており、直接実行されませんが、cs.pyにはカプセル化されていないステートメントがあります。

print('cs主函数!')

したがって、この文は冗長に実行されます。この文がまったく必要ない場合でも、目的はcs.pyのcs()関数を呼び出すことだけです。

使用しても 

from cs import cs

結果は同じです。

では、どうすれば不要なコードセグメントの実行を回避できますか?次に、不要なコードセグメントを実行する関数として使用しますが、この関数は少し特殊です。彼は、それが単独で実行されているか、インポートされて呼び出されて実行されているかを区別する必要があります。単独で実行されている場合は、それらのコードセグメントが表示され、呼び出されるとブロックされます。ドロップします。

したがって、__ name__ == '__ main__'の場合:

コードを変更しましょう

cs.pyのコードを変更するだけです。

def cs():
    print('已打开cs!')
 
if __name__ == '__main__':
    print('cs主函数!')

次に、yy.pyを実行します

結果は次のとおりです。

引用cs
已打开cs!
程序结束!

 

この時点で、__ name__ == '__ main__':が何のためにあるかを誰もが知っているはずです!

 

 

まず、最も簡潔な言語を使用して、if __name__ == '__ main __' ::の役割を説明し、他のファイルによってインポートされたときに冗長なプログラムの主要部分が表示されないようにします

 

例を挙げると、__ name__ == '__ main __':が使用されていない場合、どうなりますか。

最初にyy.pyでcs.pyを呼び出します

おすすめ

転載: blog.csdn.net/m0_54162026/article/details/112858459