Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

"if __name__ == '__main__':"という構文

"if __name__ == '__main__':"という構文をよく見かけますね。
これは、公式だと以下のように説明されています。

A module’s __name__ is set equal to '__main__' when read from standard input, a script, or from an interactive prompt.

まぁ、要するにシェルなりREPLなりからやれば、基本的に'__name__'には '__main__'が入っているって事です。

実際のところ

#!/usr/bin/python
import sys

def main(argv):
  print argv[0], ": Value :", argv[1]

if __name__ == '__main__':
    main(sys.argv)

実行すると、こんな塩梅

$ ./maintest.py 12
maintest.py : Value : 12