質問: '__main__'`の必要性がよく分かりません。ググると、 がヒットするんですが、 「直接実行をサポートしつつ、他モジュールからimportして任意のタイミングで使えるようにしたいと思う」局面の具体例が思いつきません。どのような場合なのでしょうか?
回答: 例えば、標準ライブラリのpickleは直接呼び出すことができます。 * ライブラリとしては、オブジェクトのシリアライズ/デシリアライズ(バイナリ化)ができます。 * メインモジュールとして起動した場合、pklファイルの中身を表示してくれます。 ``` C:...>python Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 18:50:55) [MSC v.1915 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pickle >>> >>> obj = {1: 1, 2: 4, 3: 9, 4: 16} >>> >>> with open('obj.pkl', mode='wb') as fout: ... pickle.dump(obj, fout) ... >>> >>> exit() C:...>type obj.pkl }q (KKKKKK KKu. C:...>python -m pickle obj.pkl {1: 1, 2: 4, 3: 9, 4: 16} ``` 上記の実行結果の読み方: 1. 実際にpklファイルを作っている。 2. 試しに出力してみるが、バイナリ形式なので正常に読み込めない。 3. pickleを利用すると閲覧することができる。