こんにちは! ココナラでフリーのプログラマーとして活動しているmei_13と申します。
現在はプログラムの開発に加え、Pythonのレッスンも行っております。
さて、前回のfor文、if文と続き、今回お話するのはPythonの「main関数」についてです。
PythonはC言語やJavaなどと異なり、main関数がなくても問題無く動作する言語です。それではなぜmain関数の話をするのか?と思われるかもしれませんが、私はPythonでもmain関数があった方が良いと考えています。
初学者の方には何を言っているかわからないという方もいらっしゃると思いますので、簡単なコードにて説明をしましょう。
【main関数の無いコード】
print("こんにちは!!")
【main関数のあるコード】
def main():
print("こんにちは!!")
main()
いかがでしょうか。main関数があるとかなり冗長に見えるかもしれません。なぜ一行で書けるコードをわざわざ数行かけているのか、と思うことでしょう。
それでは、main関数が必要な理由を説明します。
(1) グローバル変数を明示的にする
変数というものはスコープによって大きく動作が異なります。
特に関数の中か外かで、その有効な範囲が大きく変化します。
main関数を作成し、そこにmainの動作部分を記述することで、なるべくグローバル変数が生まれないようにします。
(2) 関数単位の記述を重要視する
プログラムの核は「関数」です。関数を組み合わせてプログラムを作成するという考え方が非常に重要となります。
main関数を作成することで、より関数を意識したプログラムが書けるようになります。
(3) 拡張性の向上
大規模なプログラムを作成していると、メインの動作部分を利用した更に大きいプログラムの作成を要求されることがよくあります。その際に、メインの動作部分をmain関数としていると、比較的容易に大きいプログラムに組み込みやすくなります。
以上が主な理由となります。
もちろん簡単なスクリプトを書く程度であればmain関数は必要ありません。
ただし、今後大規模なプログラムを書く必要があったり、ある程度本格的なプログラムを書けるようになりたいと考える方は、main関数を使ったプログラミングを学習するとよいかもしれません。
Pythonは柔軟性が非常に高いプログラミング言語です。だからこそ、ある程度の制約をもたせることによって、機能的で可読性の高いコーディングが実現できます。
より高いレベルのプログラマーを目指したい方は、是非私のサービスまで!