プログラミング

更新日:2021/10/16

Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!

Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!
ロゴ画像:公式サイトより https://www.python.org/community/logos/

現役エンジニアである私(筆者)は仕事でPythonを使用する機会が多く、まずは私が経験したPython学習法、練習法について説明させていただきたいと思います。

PythonのDjango超入門!初期設定チュートリアル+おすすめプログラミングスクールを紹介!

Python初心者のための練習法

Pythonはデータ解析・管理を行うツールとしても非常に機能が高い為、その扱いに慣れておくといいです。従いまして、Pythonの初心者の方がまず練習したいのが、データ管理・データ解析を上手に使いこなせる方法です。

今回は、超初心者向けの練習法として、以下の例題を用意してみました。是非参考にしてみてください。

本記事は、これからDjangoの学習を始めようとしている方やプログラミング言語未経験の方に向け、現役エンジニアの方にわかりやすく解説して頂きました。また、記事の後半ではPython・Djangoを学習するのにおすすめの『プログラミングスクール』や『オンラインの学習サービス』を紹介しています。ぜひ最後までご覧ください!

【例題】以下のサンプルファイル(sample.txt)を一行ずつ読み込み、データを出力させる。

<sample.txt>

Name:Workday
———————
Sato:Mon,Tue,Wed
Yamamoto:Tue,Thu,Fri
Kobayashi:Wed,Thu
Takahashi:Mon,Fri

上記のサンプルデータの中身がよくわかりずらいと思いますが、今回は特に気にしなくても構いません。アルバイトの出勤日だと思っていただければわかりやすいと思います。

考え方

ファイルを一行ずつ読み込み、データを出力させる場合の考え方としては以下の順序で処理を行うのがいいです。

  1. ファイルを開く
  2. 一行ずつリストに読み込む
  3. ファイルを閉じる
  4. データを出力する

プログラム例

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]を出力します。

(出力結果)

Name:Workday
———————
Sato:Mon,Tue,Wed
Yamamoto:Tue,Thu,Fri
Kobayashi:Wed,Thu
Takahashi:Mon,Fri

この処理によって、サンプルファイルを一行ずつ読み込み、データを出力させる方法が完了となります。

まとめ

今回は初心者用として、サンプルファイルを一行ずつ読み込み、データを出力させる方法を行いました。これは基本中の基本なので覚えているといいです。

ただ、通常のPythonの使い方としては、データをそのまま出力する事はあまりなく、その一行の文字を読み取って、処理して出力するという場合が殆どなので、その他の色々な関数を覚えていく必要があります。

応用例として、以下の様なデータ処理で出力する方法を挙げてみました。

(応用例)

Name:Mon,Tue,Wed,Thu,Fri
—————————–
Sato:〇,〇,〇,×,×
Yamamoto:×,〇,×,〇,〇
Kobayashi:×,×,〇,〇,×
Takahashi:〇,×,×,×,〇

Pythonで今回のサンプルデータから、以下のように出力させてみるのも初心者の練習方法にとってはいいでしょう。Pythonを学習していく事で、さまざまな処理に慣れていきましょう。

もう一度「Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!」を読む ↑

Python未経験者が本格的に学習するならスクールがおすすめ

Pythonを『未経験』からでも安心して学べるプログラミングスクールをご紹介します。少しでも気になるスクールがあれば、無料の相談会・体験会に登録してみてくださいね。

Pythonを学べるスクール5選

  1. .Pro(ドットプロ)|AI×Djangoコース
    少人数制の集中講座なので、未経験でも安心して学習できます

  2. TechAcademy|Pythonコース
    業界最大手で完全オンライン。現役エンジニアによる指導で【コスパ良し】です!

  3. DIVE INTO CODE|機械学習エンジニアコース
    ネットやSNSでの評判がとても良いスクール。Pythonがしっかり学べます

  4. Aidemy|AI特化のプログラミングスクール
    未経験でも【3ヶ月】で本格的なAI人材を目指せるオンラインスクールです
  5. PyQ™(パイキュー)
    Pythonの学習に特化。幅広いコースがあるので目的に沿った学習が可能です

もっと詳しく比較したい方は、「Pythonが学べるおすすめプログラミングスクール9選!未経験・学生もOK!」という記事を参考にしてください。通学・オンライン、マンツーマンやオーダーメイドカリキュラムなど、目的に”ぴったり”の教室が見つかりますよ!

Pythonが学べるおすすめプログラミングスクール9選!未経験・学生もOK!

Python以外の言語を学べるスクールを比較するなら

もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。

おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!

転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの転職・就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。

【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの転職・就職に強い!

Pythonやdjangoを活かせるエンジニア転職におすすめな転職サイト・転職エージェント

Pythonやdjangoを活かしたエンジニア転職におすすめな転職エージェント・転職サイトを比較するなら「エンジニアにおすすめ!IT/Web系に強い転職サイト11選|現役プロが比較・ランキング」という記事を参考にしてください。活かせる言語や業種など、自分の目的や条件にあった職場探しにお役立てください。

大手エージェントdodaが公開した情報によると、昨年2020年以降コロナの影響もあり停滞傾向にあった転職市場ですが、2021年下半期(7月〜12月)に入り、当サイトにてメインで紹介している「IT・Web」「モノづくり・製造・機械」領域も求人数の増加が見込めるようです。また、未経験向け求人も回復傾向にあります!最短かつ確実に内定を勝ち取るためにも、自身の『棚卸し』はプロである転職エージェントを積極的に活用しましょう! ※引用:https://doda.jp/guide/market/

エンジニアにおすすめ!IT/Web系に強い転職サイト11選|現役プロが比較・ランキング

[PR]:Python、Djangoを学んで転職・就職を目指すならここ

-プログラミング
-, , , , ,

関連記事

未経験者がPythonでスクレイピングを始める前に知っておくべき内容まとめ

未経験者がPythonでスクレイピングを始める前に知っておくべき内容まとめ

ロゴ画像:公式サイトより https://www.python.org/community/logos/ Pythonを学習し始めた矢先、スクレイピングなる存在を知ったそこのあなた。奇遇ですね。筆者も …

Ruby(プログラミング言語)のイメージ

初心者向けRuby【入門】学習方法、将来性など[未経験]にもわかりやすく解説!

[PR]:Webエンジニアのスキルを学ぶなら 目次1 Rubyって何?2 Rubyが使われている身近なサービス例3 Rubyを勉強するには?3.1 効率的に勉強する方法3.2 独学で勉強する方法4 R …

【初心者必読】Python初心者の人でも作れるものをご紹介!

【初心者必読】Python初心者でも作れるものや出来ること、学習方法などを解説!

ロゴ画像:公式サイトより https://www.python.org/community/logos/ 近年では機械学習や業務の自動化・効率化といったホットなワードによってIT業界ではPythonが …

【未経験向け】Pythonでデスクトップアプリを簡単に作る方法とは?おすすめライブラリを紹介!

【未経験向け】Pythonでデスクトップアプリを簡単に作る方法とは?おすすめライブラリを紹介!

ロゴ画像:公式サイトより https://www.python.org/community/logos/ 本記事はプログラミング初学者に向けた記事となっています。これからPythonを勉強する方のため …

Vue.jsのイメージ画像

プログラミング初心者におすすめなフレームワーク「Vue.js」超入門。

ロゴ画像引用元:https://github.com/vuejs/art 皆さんはVue.jsというフレームワークをご存知でしょうか。 Vue.jsはフロントエンジニアの界隈で人気急上昇中のJavaS …

転ストの中の人

  • 運営者のstaff H
  • 運営者のstaff M

エンジニア歴15年のstaffHとWebデザイナー・ディレクター歴20年のstaffMの2名が中心となりこのサイトを運営しています。転職/就職やフリーランスへの転向、未経験からのプログラミング学習など、これから”新しい一歩を踏み出そうとしている、エンジニア・クリエイター”に役立つ情報を発信しています。

プロフィール詳細 / Twitter




ページのトップへ戻る