 
				
				
				
			Pythonの”if __name__ == ‘__main__'”とは何か
Pythonの”if __name__ == ‘__main__'”は、Pythonスクリプトをモジュールとしてインポートする際に、そのスクリプトが直接実行された場合にのみ実行されるコードブロックを定義するための構文です。
“if __name__ == ‘__main__'”の基本的な書き方
“if __name__ == ‘__main__'”の基本的な書き方は以下の通りです。
if __name__ == '__main__':
    # 実行したいコードをここに書く
“if __name__ == ‘__main__'”がなぜ必要なのか
“if __name__ == ‘__main__'”が必要な理由は、Pythonスクリプトをモジュールとして他のスクリプトからインポートする場合に、そのスクリプトが直接実行されることを防ぐためです。例えば、以下のようなスクリプトがあったとします。
def hello():
    print("Hello, World!")
hello()
このスクリプトを他のスクリプトからインポートすると、”Hello, World!”が出力されてしまいます。しかし、”if __name__ == ‘__main__'”を使うことで、直接実行された場合にのみ”Hello, World!”が出力されるようにできます。
def hello():
    print("Hello, World!")
if __name__ == '__main__':
    hello()
“if __name__ == ‘__main__'”の動作原理
“if __name__ == ‘__main__'”の動作原理は、Pythonがスクリプトを実行する際に、そのスクリプトの__name__変数に値を設定することにあります。直接実行された場合には、__name__変数には”__main__”が設定されます。他のスクリプトからインポートされた場合には、__name__変数にはそのスクリプトのファイル名が設定されます。
“if __name__ == ‘__main__'”の実際の使用例
“if __name__ == ‘__main__'”の実際の使用例として、以下のようなスクリプトがあります。
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
if __name__ == '__main__':
    print(fibonacci(10))
このスクリプトは、フィボナッチ数列の10番目の数を計算して出力します。他のスクリプトからインポートされた場合には、計算結果は出力されません。
“if __name__ == ‘__main__'”の注意点とトラブルシューティング
“if __name__ == ‘__main__'”を使う際には、以下の注意点に気をつける必要があります。
- __name__変数には、スクリプトのファイル名が設定されるため、ファイル名を変更すると動作しなくなることがあります。
- __name__変数には、Pythonのバージョンによって設定される値が異なることがあります。
- __name__変数には、Pythonの実装によって設定される値が異なることがあります。
まとめ
“if __name__ == ‘__main__'”は、Pythonスクリプトをモジュールとして他のスクリプトからインポートする際に、そのスクリプトが直接実行された場合にのみ実行されるコードブロックを定義するための構文です。正しく使うことで、スクリプトの再利用性を高めることができます。

![[Python]日付の取得(前日、今日(本日))](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1387.jpg)



![[Python]datetimeをISOフォーマット文字列へ変換 !ミリ秒変換](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1325.jpg)