Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの__name__(特別な変数)


他のプログラミング言語とは異なり、Pythonはメイン関数からコードの実行を明示的に開始するようには設計されていません。 __name__と呼ばれる特別な変数は、main関数の機能を提供します。これはPython言語の組み込み変数であるため、この変数の値を次のように確認するだけのプログラムを作成できます。

print type(__name__)
print __name__

上記のコードを実行すると、次の結果が得られます-

<type 'str'>
__main__

上記のように、__ name__変数の値は文字列データ型であり、___main__と同じです。

以下は、__name__変数の2つの主要な機能です。

1。 他のスクリプトを参照していない、適切に記述されたスタンドアロンのPythonスクリプトを実行すると、__name__変数の値は__main__に等しくなります。

Standalone.pyという名前のプログラムを書いてみましょう この機能を説明するために。

def func1():
   print 'The value of __name__ is ' + __name__
if __name__ == '__main__':
   func1()

上記のコードを実行すると、次の結果が得られます-

The value of __name__ is __main__

予想どおり、__name__変数は__main__と評価されるため、出力になります。

2。 2番目の機能は、あるPythonスクリプトを別のPythonスクリプトにインポートすることです。このようなシナリオでは、main()関数と見なすことができる2つの異なるスコープがあるようです。最初のスコープは、現在実行中のプログラムの__main__変数であり、2番目のスコープは、現在のプログラムで使用されているインポートされたスクリプトの__main__変数のスコープです。

どの__main__変数が使用されるか

インポートされたスクリプトから関数を実行すると、__ name__変数はスクリプトの実際の名前に評価され、__main__と等しくなりません。

ただし、インポートされたスクリプトを参照せずに、現在のプログラムからname変数の値を見つけると、レベル0のインデントでのプログラムのスコープであるため、期待どおりに__main__と評価されます。

以下のプログラムはこの例を示しています。

import standalone as sa

print('Running the imported script')
sa.func1()

print('\n')
print('Running the current script')
print 'The value of __name__ is ' + __name__

出力

上記のコードを実行すると、次の結果が得られます-

Running the imported script
The value of __name__ is standalone

Running the current script
The value of __name__ is __main__

このアプローチの有用性は、コードif __name__ =="__main __":が使用されている場合、Pythonインタープリターが現在実行されているスクリプトを解析しているかどうか、または別の外部スクリプトを一時的に解析しているかどうかを確認することです。このように、プログラマーは、シナリオに応じて、外部スクリプトと現在実行されているスクリプトからコード行を実行することを選択することにより、プログラムのさまざまな部分の動作を制御できます。


  1. Python変数:ハウツーガイド

    Python変数はプログラムに値を格納します。変数には、ラベルと値の2つの部分があります。これらの2つの部分は、等号(=)で区切られています。ラベルを使用して、プログラム全体で変数に割り当てられた値を参照できます。変数の値は変わる可能性があります。 変数はプログラミングに組み込まれています。変数を使用すると、特定の名前に関連付けられているプログラムにデータを保存できます。 たとえば、 chocolateという変数を作成できます。 、地元の食料品店で販売されているチョコレートのリストを保存しています。または、 usernameという変数を使用することもできます。 、ゲームアプリケーションの

  2. Python plt.titleに変数を追加するにはどうすればよいですか?

    Pythonに変数を追加するにはplt.title() 、次の手順を実行できます- numpyとnum(変数)を使用してxとyのデータポイントを作成し、yを計算して、これをタイトルに設定します。 plot()を使用してxおよびyデータポイントをプロットします 赤い色の方法。 変数numを使用して曲線のタイトルを設定します。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize&q