Google には Python チュートリアルがあり、ボイラープレート コードを「不運」と表現し、次の例を提供しています。
#!/usr/bin/python
# import modules used here -- sys is a very standard one
import sys
# Gather our code in a main() function
def main():
print 'Hello there', sys.argv[1]
# Command line args are in sys.argv[1], sys.argv[2] ..
# sys.argv[0] is the script name itself and can be ignored
# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()
さて、定型コードが「もっと単純であるべきと思われる結果を得るために、何度も何度も現れる一見反復的なコード」と表現されているのを聞いたことがあります ( example )。
とにかく、Pythonでは、上記の例の「ボイラープレート」コードと見なされる部分は次のとおりです。
if __name__ == '__main__':
main()
さて、私の質問は次のとおりです。
1) Python の定型コード (提供された例のように) は、私が提供した定義と同じ定義を取りますか? もしそうなら、なぜですか?
2) このコードは必要ですか? main メソッドがあるかどうかに関係なく、コードが実行されるように思えます。このコードをより使いやすくするにはどうすればよいですか? それはさらに良いですか?
3) なぜそのコードを使用し、どのようなサービスを提供するのですか?
4) これは Python 全体で発生しますか? 「定型コード」の他の例はありますか?
ああ、トピック外の質問: import sys
Python でコマンド ライン引数を使用する必要がありますか? そこにない場合、そのような引数をどのように処理しますか?