概要
ProgateやPythonの入門書を読んだ後に何したらいいか分からないという人をよく見かけるので、自分なりの経験をもとに考えをまとめてみようと思います。
結論から言うと「プログラミングに慣れる、プログラミングによる問題解決の経験値を積む」という目的で、ディレクトリ操作をオススメします。
以下、なんでディレクトリ操作がオススメなのか解説していきます。
対象
- Python勉強し始めたばかりの人
- プログラミングでやりたいことが見つかっていなくて次に何を勉強したらいいか分からない人
- Pythonをもっと使えるようになりたい人
プログラム入門後の課題
Pythonに限らない話ですが、プログラミング言語の基本的な文法を少し触ったあとに「次にどうしたらいいのかなぁ」という状態になってしまうことがあります。
明確に作りたいものがあってプログラミングを始めた人は、作りたいものに必要なことを自分で調べて、次にやるべきことを作り出していけると思います。
その一方で少しずつプログラミングの経験を積んでいってから自分のやりたいことを見つけるタイプの人もいると思います。
後者のタイプは上記したような「次にどうしたらいいのかなぁ状態」になってしまい、結果、Progateを何週もしたり、基礎の本を何回も写経するというループにはまってしまうのではないかと思います。
よくあるアドバイス
Twitterとかで「入門後に何したらいいいですか」という質問に対して、よく見るアドバイスとして以下のようなものがあります。
- 「自分の作りたいものを見つけてそれを作りなよ。」
- 「他の人のプログラム(ゲームとかサイトとか)を読んだり、改造したり、真似してみたら。」
- 「機械学習楽しいよ。流行っているしね。」
どれもためになりそうなアドバイスなのですが、こういうのは
実際にやろうとすると調べることが多い。
-> プログラム書く時間より調べている時間の方が多くなる。
-> 飽きる。疲れる。挫折する。
になると思います。自分だったらこうなります。
Pythonの基本的なことを勉強したら、その後はプログラムを書く回数を増やして慣れていく必要があると思います。しかし、例えばゲームは実現するための予備知識が多くて、手を動かすまでに挫折してしまう可能性が高いと思います。
機械学習に関しては、最近ではAidemyとかUdemyで初心者にもとっつきやすい講座があるので、機械学習興味あるんだという人はそういうのやるのもいいと思いますが、こういうものはPython以外の知識も必要になってくるので、Python入門後は、まずはPythonに慣れてから講座を受けるのがいいと思います。
(機械学習やりたいという人は、やりたいこと見つかっているので、今回の課題にはぶつかってないですが。)
Python入門直後にやってみたほうがいいと思うこと
最初に書きましたが、ディレクトリ操作に関するプログラムを書くがいいと思っています。
ディレクトリ操作というは例えば
- フォルダの中のファイルのサイズ一覧を出力する。
- フォルダの中の全てのファイルの名前を変える。
- フォルダの中の画像ファイルの一覧をテキストで出力する。
- フォルダの中の特定の名前のファイルを別のフォルダに移動する。
などです。
キーワードは「フォルダの中のあるファイルに対して〜する」です。
なぜこれがオススメなのかというと
1. 使用するモジュールが簡単なものが多い。(調べることが少ない)
2. サンプルコードがたくさんある。(参考資料がたくさんある)
3. フォルダ内の複数ファイルを操作するプログラムは実用的(日常の問題をプログラムで解ける)
だからです。
特に重要なのは3です。
実用的なことがいい理由
作るプログラムが実用的(な課題に関するもの)だと、プログラムを書くきっかけが多くなります。
「フォルダ内の複数ファイルを〜したい」というのは、プログラマが仕事をする際によくある課題です。
また、プログラマ以外の仕事でもこういった課題がよくあると思います。書類を〜したいとか。あとは趣味で写真撮ったりする人が画像を整理するときとか。
こういうちょっとした課題は日常のあらゆる場面に存在するので、その都度「Pythonで自動化してみよう」ということをやっていくと、
課題を見つける
->Pythonで書いてみる
->課題が解決する
->嬉しい楽しい
->Pythonに慣れる、できることが増える
->また新しい課題を見つける
・
・
・
になります。
私は、プログラムを書いていて嬉しいと思う瞬間の一つに「困っていることを解決できたとき」というものがあります。
ゲームとかサイトを作るのも良いと思うのですが、最初からみんなに使われるような良いものを作るのは難しいと思います。
経験が浅いうちは「作ったけど誰にも使われない->楽しくない」ということになったりします。
「フォルダ内の複数ファイルを〜したい」という類の問題は誰しも抱える問題だと思うで、解決するプログラムを書くと、ゲームのプログラムなどよりはプログラムを使ってくれて喜んでくれる人が多いのではないかと思います。
具体的に勉強すること
Pythonでディレクトリ操作をするには以下モジュールを使います。
- os
- shutil
使い方は簡単なのでサンプル見ればわかると思います。
以前まとめ記事書いたので参考にしてください。
Pythonでディレクトリ,ファイル操作のやり方まとめ
画像を〜したいという場合は、PILライブラリとか必要になります。標準ライブラリではないのでインストールする必要ありますが。
まとめ
ディレクトリ操作は地味ですが、日常的な問題をプログラムで解決するというのは楽しいです。そういうことを続けていくとプログラミングの考え方やPythonの知識が向上していって、脱初心者できるのではないかと思います。