現役エンジニアである私(筆者)は仕事でPythonを使用する機会が多く、まずは私が経験したPython学習法、練習法について説明させていただきたいと思います。
目次
Python初心者のための練習法
Pythonはデータ解析・管理を行うツールとしても非常に機能が高い為、その扱いに慣れておくといいです。従いまして、Pythonの初心者の方がまず練習したいのが、データ管理・データ解析を上手に使いこなせる方法です。
今回は、超初心者向けの練習法として、以下の例題を用意してみました。是非参考にしてみてください。
【例題】以下のサンプルファイル(sample.txt)を一行ずつ読み込み、データを出力させる。
<sample.txt>
———————
Sato:Mon,Tue,Wed
Yamamoto:Tue,Thu,Fri
Kobayashi:Wed,Thu
Takahashi:Mon,Fri
上記のサンプルデータの中身がよくわかりずらいと思いますが、今回は特に気にしなくても構いません。アルバイトの出勤日だと思っていただければわかりやすいと思います。
考え方
ファイルを一行ずつ読み込み、データを出力させる場合の考え方としては以下の順序で処理を行うのがいいです。
- ファイルを開く
- 一行ずつリストに読み込む
- ファイルを閉じる
- データを出力する
プログラム例
list=[] ・・・①
f=open('sample.txt') ・・・②
line=f.readline() ・・・③
while line: ・・・④
line1=line.rstrip('¥n') ・・・⑤
list.append(line1) ・・・⑥
line=f.readline() ・・・⑦
f.close() ・・・⑧
for i in range(0,len(list),1): ・・・⑨
print (list[i]) ・・・⑩
では、このプログラムについて一行ずつ説明していきましよう。
【解説1】ファイルを開く
list=[] ・・・①
f=open('sample.txt') ・・・②
①初期設定として、リスト変数※“list”に空の値を代入します。
※pythonで言うリストとは、配列変数の事です。
今回の例ではlist(リスト変数)に要素(データ)を格納していきたいので、まず初期設定としてリスト変数内の要素を空にする必要があります。
②open関数でファイルを開きます。
今回の例では、‘sample.txt’のファイルを開き、変数fにファイルオブジェクトを入れます。
【解説2】一行ずつリストに読み込む
line=f.readline() ・・・③
while line: ・・・④
line1=line.rstrip('¥n') ・・・⑤
list.append(line1) ・・・⑥
line=f.readline() ・・・⑦
③readline関数で、一行ずつリストに読み込みます。
今回の例では、まず’sample.txt’の最初の一行(Name:Workday)だけ読み込み、変数lineに入れます。
④while文で、ファイルを一行ずつ、全ての行を読み込みます。
while文は指定した条件式が真の間、処理を繰り返し実行します。
(書式)
while 条件式:
条件式が真のときに実行する文
今回の例では、変数”line”が真の間、つまり’sample.txt’の最後の行まで一行ずつ、⑤〜⑦の処理を繰り返します。
⑤rstrip関数で、文字列の右側の文字を除去し、変数line1に入れます。
(書式)
文字列.rstrip(除去する文字)
今回の例では、readline関数で、一行ずつ読み込むと最後の改行(‘¥n’)も含まれてしまいますので、改行文字(‘¥n’)を除去する必要があります。
⑥リスト(配列)のメソッドappend()で、要素を追加していきます。
今回の例では、まず最初は下記の様に、配列変数”list”に”line1”に入っている要素(Name:Workday)が追加されます。
list[0]= “Name:Workday”
⑦readline関数で、次の一行をリストに読み込みます。
今回の例では、’sample.txt’の次の一行(”———————“)だけ読み込み、変数lineに入れます。
④のwhile文で⑤〜⑦の条件を繰り返すと、今回のメソッドappend()で以下のようにリストに要素が追加されていきます。
list[0]=”Name:Workday”
list[1]=”---------------------"
list[2]=”Sato:Mon,Tue,Wed”
list[3]=”Yamamoto:Tue,Thu,Fri”
list[4]=”Kobayashi:Wed,Thu”
list[5]=”Takahashi:Mon,Fri”
【解説3】ファイルを閉じる
f.close() ・・・⑧
⑧close関数を使い、ファイルを閉じます。
今回の例では‘sample.txt’のファイルを閉じ、変数fにファイルオブジェクトを入れます。
【解説4】ファイルを出力
for i in range(0,len(list),1): ・・・⑨
print (list[i]) ・・・⑩
⑨for文を使って繰り返し処理を行います。
(書式)
for 変数 in オブジェクト:
実行する処理
また、今回の例では、range関数とlen関数を使って繰り返し処理を行ってます。
引数に指定した開始数から終了数までの連続した数値を要素として持つrange 型のオブジェクトを作成します。
(書式)
range(start, stop[, step])
今回の例では、開始数”0”から終了数”len(list)”まで、1ステップずつ⑩の処理を繰り返し実行します。
<len関数>
引数にリストを指定した場合には、リストに含まれる要素数を取得することができます。
(書式)
len(リスト)
今回の例では、リスト変数”list”の要素数はlist[0]〜list[5]なので、len(list)=6となります。
⑩print関数を使って、引数の値を出力します。
今回の例では⑨⑩の処理で、開始数”0”から終了数”6”まで、1ステップずつlist[0]〜list[6]を出力します。
(出力結果)
———————
Sato:Mon,Tue,Wed
Yamamoto:Tue,Thu,Fri
Kobayashi:Wed,Thu
Takahashi:Mon,Fri
この処理によって、サンプルファイルを一行ずつ読み込み、データを出力させる方法が完了となります。
まとめ
今回は初心者用として、サンプルファイルを一行ずつ読み込み、データを出力させる方法を行いました。これは基本中の基本なので覚えているといいです。
ただ、通常のPythonの使い方としては、データをそのまま出力する事はあまりなく、その一行の文字を読み取って、処理して出力するという場合が殆どなので、その他の色々な関数を覚えていく必要があります。
応用例として、以下の様なデータ処理で出力する方法を挙げてみました。
(応用例)
—————————–
Sato:〇,〇,〇,×,×
Yamamoto:×,〇,×,〇,〇
Kobayashi:×,×,〇,〇,×
Takahashi:〇,×,×,×,〇
Pythonで今回のサンプルデータから、以下のように出力させてみるのも初心者の練習方法にとってはいいでしょう。Pythonを学習していく事で、さまざまな処理に慣れていきましょう。
もう一度「Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!」を読む ↑
- 人気記事:.Pro(ドットプロ)の特徴・強みまとめ|Python、Django、フロントエンドを未経験から習得!
- Python入門編!人気の理由や学習方法、将来性や転職市場など初心者向けに徹底解説!
- 【初心者必読】Python初心者でも作れるものや出来ること、学習方法などを解説!
- Pythonに興味がある方は必読!【Djangoの求人・会社】のあれこれをご紹介!
- 【未経験向け】Pythonの勉強・学習方法を解説!プログラミング初学者必見!
- 【未経験向け】Pythonでデスクトップアプリを簡単に作る方法とは?おすすめライブラリを紹介!
- Pythonで自動化ツールを作れば効率化できることまとめ【未経験者必見!】
- 未経験者がPythonでスクレイピングを始める前に知っておくべき内容まとめ
Python未経験者が本格的に学習するならスクールがおすすめ
Pythonを『未経験』からでも安心して学べるプログラミングスクールをご紹介します。少しでも気になるスクールがあれば、無料の相談会・体験会に登録してみてくださいね。
- TechAcademy|Pythonコース
業界最大手で完全オンライン。現役エンジニアによる指導で【コスパ良し】です! - .Pro(ドットプロ)|AI×Djangoコース
少人数制の集中講座なので、未経験でも安心して学習できます - DIVE INTO CODE|機械学習エンジニアコース
ネットやSNSでの評判がとても良いスクール。Pythonがしっかり学べます - Aidemy|AI特化のプログラミングスクール
未経験でも【3ヶ月】で本格的なAI人材を目指せるオンラインスクールです - PyQ™(パイキュー)
Pythonの学習に特化。幅広いコースがあるので目的に沿った学習が可能です
Python以外の言語を学べるスクールを比較するなら
もっと多くのプログラミングスクールの中から比較したいという方は、「プログラミングスクール比較11選!社会人や未経験者にもおすすめ!【転職・就職にも有利】」という記事を参考にしてください。
転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの転職・就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。
Pythonやdjangoを活かせるエンジニア転職におすすめな転職サイト・転職エージェント
Pythonやdjangoを活かしたエンジニア転職におすすめな転職エージェント・転職サイトを比較するなら「IT/Web系に強い転職エージェント・転職サイト11選!【現役エンジニア厳選】」という記事を参考にしてください。活かせる言語や業種など、自分の目的や条件にあった職場探しにお役立てください。