Python_を浅分析するname_何ですか

2832 ワード

前言
私たちはpythonファイルを見たり、自分でpythonコードを書いたりします。コードの最後にこのようなコードを追加します。

if __name__ == '__main__':
 func_name() 
この行のコードには何か具体的な作用がありますか?加えないと私達の結果に影響がありますか?__name__まず、二重アンダースコアで始まる変数について、Pythonでは内蔵変数と呼ばれています。__name__を除いて、私たちがよく見ているのは__init____dict__などです。では、どれぐらいの内蔵変数がありますか?私たちは次のインターフェースで次のコマンドを入力することができます。Pythonのすべての変数と内蔵関数を確認してください。
>>ディールブリティングス.
結果は下図のようです

異なる場合の__name__の値
まず、__name__には異なる値があります。その値は私たちがどうやってスクリプトを実行するかによって決まります。いくつかの例を通して感じられます。
Example 0

# test.py
print(f'__name__   test.py    {__name__}')
コードを直接実行してください。

$ python test.py
そして出力を見てください。

$ python test.py 
__name__   test.py    __main__
この例では、__name__の値は__main__であることを発見した。
Example 1
この例では、シナリオtest 1.pyを再作成して、test 1.pyでtest.pyを呼び出します。

# test1.py
import test
print(f'__name__   test1.py    {__name__}')
続いてtest 1.pyを実行して、出力をもう一度見てください。

python test1.py 
__name__   test.py    test
__name__   test1.py    __main__
結果は面白いですか?全体の過程はどうなりますか?簡単に図を描きました。

いつ__name__を使いますか?
時々、Pythonでスクリプトを書きました。このスクリプトは単独で実行してもいいと思います。他のスクリプトでも機能してほしいです。この時は__name__を使うことを考慮しなければなりません。ここでは上のExample 1の例を改造することによって直感的に感じられます。
test.pyファイルを修正してください。

# test.py
def hello(name):
 print(f'Hello,{name}')
if __name__ == '__main__':
 hello("test")
test 1.pyファイルを再修正します。

# test1.py
from test import hello
hello("test1")
まず、test.pyを直接運転してみましょう。この時、if文の条件が満たされて、ハロー、testを出力します。

$ python test.py 
Hello,test
この時、私たちはtest1.pyを実行すれば、プログラムはハロー、test 1を出力します。

$ python test1.py 
Hello,test1
if __name__ == "__main__"test.pyで外すと何がありますか?

$ python test1.py 
Hello,test
Hello,test1
参照
What does if name==「main」:do?
What's in a(Python's)name?
ここでPython_について書きます。name_何かの文章をここに紹介します。Python_name_内容は私達の以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。