Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

"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