現役エンジニアである私(筆者)は仕事で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初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!」を読む ↑
プログラミング初心者が効率よく学習するならスクールがおすすめ
プログラミングスクールであれば必要な知識を体系的に学べるだけでなく、質問できる環境が整っており、その道のプロから的確な回答が返ってきます。効率良く学習するうえでこの上ない環境といえます。
ここではPythonを学習するのにおすすなプログラミングスクールをご紹介します。
DMM WEBCAMP 学習コース|Pythonコース
DMM WEBCAMP 学習コース(旧:SKILLS)
Pythonコース
週2回行われるメンタリングではモチベーションを維持・向上させるために、学習方法のレクチャーや疑問点の解消、1週間の振り返りなどのサポートを行っています。
このコースでは実際に機械学習プログラムを開発※することができるので、現場で通用する実践的なスキルを身につけることができます。また、エラーが出たりつまづいた場合には、毎日15時〜23時にチャットで質問でき(であれば素早く回答!)、課題へのレビューサポートも無制限で行っています。※タイタニックの乗客データからの生存者を予測や花の種類の分類、レンタサイクルの利用者予測など
AI・データサイエンスの知識を身につけて転職に活かしたい社会人や、将来性あるPythonを習得して就職活動の強みとしたい学生の方には特におすすめのコースです。
→ DMM WEBCAMP 学習コース|Pythonコースの詳細はこちら
キカガク

キカガクは、受講者『45,000名以上』という実績と受講生満足度『90%』を誇る、動画学習プラットホームです。AI・機械学習領域の学習に特化しており、JDLA(日本ディープラーニング協会)のE資格認定講座を受講することで、受験可能なレベルのスキルを身につけることができます。
また、第四次産業革命スキル習得講座にも認定されているので、給付金制度を利用すれば受講料の70%を補助してもらえます。通常792,000円(税込)の受講料を237,600円(税込)まで下げることができるので、これまでプログラミングスクールへの受講を予算面でためらっていた方にはとても魅力的なポイントといえます。
キカガクの学習スタイルはオンラインによるハンズオン形式の動画学習。Pythonや数学の基礎から環境構築、そしてAIを搭載したWebアプリケーション開発までを『最短最速』で学べる環境が整っています。
エラーなどでつまづいてもチャットを使っていつでも質問可能で、定期的な個別メンタリングも実施されているので、挫折することなく学習を進めることができます。また、チーム学習で同期生とコミュニケーションをとりながら学習することもできるため、一緒に学ぶことでモチベーションも維持できるメリットがあります。
tech boost(テックブースト)|AIコース

tech boost(テックブースト)は、転職支援サービス『TechStars Agent(テックスターズエージェント)』やフリーランス向け案件紹介サービス『Midworks』などで有名なBranding Engineerが運営するプログラミングスクールです。
tech boost(テックブースト)のAIコースでは、3ヶ月の学習期間でAIエンジニアとしてのスキルを習得し、手厚いキャリアサポートを受けながら転職までを目指します。
現役エンジニアのメンターが学習する上での不安や悩み、進捗状況などについても徹底サポートしてくれるので、挫折することなくやり遂げることができます。
AIやPythonの基礎から機械学習やAIの開発に必要な数学知識までを段階的に理解していくカリキュラムになっているため、プログラミング未経験でも心配いりません。はじめてプログラミングに触れる方も安心して学習を進められます。
無料説明ではコース内容についてだけではなく、キャリアを前提とした学習計画についても説明してもらえるので、まずは色々と相談してみると良いですよ!
公式サイト:→ tech boost(テックブースト)|AIコースの詳細はこちら
もっと詳しく比較したい方は、「Pythonが学べるおすすめプログラミングスクール11選【安い&良質】」という記事を参考にしてください。通学・オンライン、マンツーマンやオーダーメイドカリキュラムなど、目的に”ぴったり”の教室が見つかりますよ!
Python以外の言語を学べるスクールを比較するなら
もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。
転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。
Pythonを活かせるエンジニア転職におすすめな転職サイト・転職エージェント
Pythonを活かしたエンジニア転職におすすめな転職エージェント・転職サイトを比較するなら「IT/Web系エンジニアにおすすめな転職サイトランキング11選!未経験OKあり」という記事を参考にしてください。活かせる言語や業種など、自分の目的や条件にあった職場探しにお役立てください。
- Python入門編!人気の理由や学習方法、将来性や転職市場など初心者向けに徹底解説!
- 【初心者必見】Pythonを効率的に学習する方法やロードマップ、勉強の流れを徹底解説!
- 【初心者向け】Pythonで作れるものや出来ることを徹底解説+スクールの紹介も!
- Python未経験者は必読!【Djangoの求人・会社】のあれこれを徹底紹介!
- PythonのDjango超入門!初期設定チュートリアル+おすすめプログラミングスクールを紹介!
- 初心者向け!Pythonでデスクトップアプリを簡単に作る方法!おすすめライブラリも紹介
- Pythonで自動化ツールを作れば効率化できることまとめ【未経験者必見!】
- 未経験者がPythonでスクレイピングを始める前に知っておくべき内容まとめ
- 【Pythonの資格や勉強法を紹介】Pythonエンジニアを目指す人必見です!