Pythonを独学で勉強してみました
久しぶりにプログラミングに挑戦
私が仕事を始めた頃の数年間はプログラミングをしていましたが、その後担当が変わったこともあり、プログラミングから遠ざかっていました。しかし、日頃の仕事では常に論理的な思考を要求されていたので、プログラミング思考は常に行っていましたし、昨今はプログラミング知識が一般的にも求められるようになってきたことから、以前仕事で使っていたCOBOLという言語以来のプログラミングに挑戦しようと思いました。
そこで、どのプログラミング言語に挑戦しようかと考えたところ、最近人気のPythonを学習しようと考えました。Pythonは読みやすく、書きやすい言語として設計されており、プログラミングの入門として推薦されているようです。しかし、その用途としては、シンプルな処理だけではなく、複雑なデータ処理や統計処理などもしやすいので、科学技術計算や機械学習などで使用されています。また、プログラムを書くときに使用する便利な機能を集めたライブラリが豊富に提供されており、それらを利用して効率的にプログラミングすることができます。
Pythonプログラミング上の注意点
プログラミングをする上では、次の概念は特に重要だと思いますが、今回は私自身少し戸惑ったこともありました。
- 変数:プログラミングをする上では基本の概念ですが、Pythonでは特に事前に変数を詳細に定義しておく必要がないので、簡単に新しい変数を使えます。ただし、初めはそれが変数なのかPythonのキーワードなのか迷いやすかったです。
- 代入:プログラムの世界では、等号「=」は変数に値を入れる動作「代入」になります。ただし、初心者には、数学のように「=」を値を比較するときに使ってしまいそうです。私も最初は「=」代入の意味を取り違えました。
- インデント:繰り返し処理や条件分岐などの処理範囲を定義するのに、Pythonではプログラムの行頭に空白文字を挿入して字下げするインデントを使います。これは、プログラムをひと目に見たときには、とてもわかりやすいのですが、他の言語のように処理範囲を明確に定義するのに慣れていると、初めはまちがえやすいかもしれません。
- オブジェクト指向:従来の手続き型プログラミングよりも利点があるのは分かるのですが、少し分かりづらい部分があり、関数とオブジェクトの正確な違いが正直分かっていません。
改めてプログラミングしてみて
久しぶりにプログラミングの勉強をしてその練習のために、入力された値を処理して画面に表示させる単純なウェブアプリケーションを作成してみました。最初は簡単にできるだろうと考えていたのですが、想定以上に手こずり完成させるのに少し苦労しました。
プログラミングの基本だと思いますが、プログラムが正しく動作をしないときには、どのステートメントが処理されたかをきちんとトレースしてデバッグしていくことが重要だと改めて認識しました。
参考書籍
- いちばんやさしいPythonの教本
この本で実際に手を動かしてプログラミングの勉強をしました。
- 独学プログラマー
Pythonを通したプログラミングのエッセンスが書かれています。