pythonの「__name__」とかはなに?
勉強前イメージ
全然プログラム書かないのでよくわからんけど、昔からの疑問。
__main__ とかもよく見る気がする
調査
pythonの「__name__」について
pythonのプログラムは コマンドから直接実行される
か、 importで他のプログラムから参照される
の、どちらかの方法で実行されます。
「__name__」は、pythonのコードを実行するときに作られる変数で、この変数には実行しているプログラムのモジュール名が自動的に入ります。
pythonの特殊なグローバル変数で、他にも
__file__
や __cached__
などがあります。
よく使われるものとして、
if __name__ == '__main__':
と記載すると
コマンドラインから直接実行されたときの処理を記載することができます。
ちなみに・・・関数と変数について
関数
関数としては一定の処理を入れておくような箱になります。
関数の例として、「ご飯を炊くまで」を考えます。
- お釜にお米を入れる
- お米をとぐ
- 水を入れる
- 炊飯器にセットをする
- 炊飯器のスイッチを押す
ご飯を炊くまでにざっくり上記の作業があります。
「ご飯を炊く」 という 関数
に、上記の処理があるイメージです。
関数の定義は以下で行うことができます。
def 関数名():
処理1
処理2
ご飯を炊くという関数にしてみると以下になり、「お米を炊く」関数を呼び出すと以下が実行されるイメージです。
def お米を炊く():
お釜にお米を入れる
お米をとぐ
水を入れる
炊飯器にセットをする
炊飯器のスイッチを押す
変数
変数については、「NAME」という変数があるとすると
私の名前は NAME です
をテンプレートを作っておくことでNAMEを変更するだけで、
以下のように名前を変えることができます。
- NAME = たかし →
私の名前は たかし です
- NAME = はなこ →
私の名前は はなこ です
勉強後イメージ
ほんとにプログラムは皆無の世界だけど
ちょっとずつ仲良くなりたい
タイトル以外に、関数と変数の違いもわかった。