プログラミング

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

更新日: 投稿日:2020年11月27日 ※本記事は[プロモーション]が含まれています

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

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

Python初心者のための練習法

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

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

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

【例題】以下のサンプルファイル(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を学習するのにおすすなプログラミングスクールをご紹介します。

DMM WEBCAMP 学習コース|Pythonコース

DMM WEBCAMP 学習コース(旧:SKILLS)
出典:DMM WEBCAMP 学習コース公式サイト

DMM WEBCAMP 学習コース(旧:SKILLS)は、マンツーマンによる指導と独自メソッド(ITスキル習得に必要なプロセスを3ステップに分解)で、未経験から『最短』で即戦力スキルを身につけることができるプログラミングスクールです。

Pythonコースでは、AIの基礎から機械学習、そして特徴量作成・モデル構築・精度評価の一連を実践しながら習得していきます。カナダで開発された学習・評価モデル『ICEモデル』を基にした独自カリキュラムで、未経験でも短期間で上達でき挫折することなくやり遂げることが可能です。

週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(テックブースト)|AIコースの公式サイト
出典:tech boost(テックブースト)公式サイト

tech boost(テックブースト)は、転職支援サービス『TechStars Agent(テックスターズエージェント)』やフリーランス向け案件紹介サービス『Midworks』などで有名なBranding Engineerが運営するプログラミングスクールです。

tech boost(テックブースト)のAIコースでは、3ヶ月の学習期間でAIエンジニアとしてのスキルを習得し、手厚いキャリアサポートを受けながら転職までを目指します。

現役エンジニアのメンターが学習する上での不安や悩み、進捗状況などについても徹底サポートしてくれるので、挫折することなくやり遂げることができます。

AIやPythonの基礎から機械学習やAIの開発に必要な数学知識までを段階的に理解していくカリキュラムになっているため、プログラミング未経験でも心配いりません。はじめてプログラミングに触れる方も安心して学習を進められます。

無料説明ではコース内容についてだけではなく、キャリアを前提とした学習計画についても説明してもらえるので、まずは色々と相談してみると良いですよ!

公式サイト:→ tech boost(テックブースト)|AIコースの詳細はこちら

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

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

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

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

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

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

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

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

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

大手エージェントdodaが公開した情報によると、2023年下半期のITエンジニアの求人数は、アプリ・インフラともに増加傾向にあります。DX化とその影響を受け起こりうる2025年問題などの背景に、クラウド化やDX推進は今後も続くと予想されます。アプリケーションエンジニアは、ERP、クラウド、CRMの導入経験や知見、Java・Python・PHPの開発経験、アジャイル開発やDB設計の経験が評価を受けやすいです。インフラエンジニアは、、LPIC2~3/LinuC2~3やCCNPなどの資格や実務経験、クラウドやセキュリティ領域の経験・資格をアピールできるとより高い評価が期待できます。現在も売り手市場のため、未経験の転職にもチャンスが広がっています。最短かつ確実に内定を勝ち取るためにも、自身の『棚卸し』はプロである転職エージェントを積極的に活用しましょう! ※引用:https://doda.jp/guide/market/001.html

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

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

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

関連記事

マーケターがPythonを学ぶべき理由を解説!出来ることや学習・活用方も!

マーケターがPythonを学ぶべき理由を解説!出来ることや学習・活用方も!

ロゴ画像:公式サイトより https://www.python.org/community/logos/ 「マーケティングに対して、なぜプログラミングを?」という方も多いと思います。実はプログラミング …

【Python資格】Pythonエンジニアを目指す人必見!Pythonの資格や勉強法を紹介します!!

【Pythonの資格や勉強法を紹介】Pythonエンジニアを目指す人必見です!

需要が高まり続けるITエンジニアですが、中でも人気プログラミング言語の一つである「Python」を扱うことのできるPythonエンジニアが現在注目を集めています。 この記事を読んでいる方の中にも、Py …

Go言語【入門編】特徴と将来性から転職市場まで徹底解説!

Go言語【入門編】特徴と将来性から転職市場まで徹底解説!

ロゴ画像:Go言語公式ブログより https://blog.golang.org/go-brand こんにちは、みなさん。僕はセキュリティ業界にて勤務歴4年のセキュリティエンジニア、デジタル忍者と申し …

Java

プログラミング未経験のための『Java』知識入門|転職・就職にも活かそう!

目次1 今更聞けないJavaって何?1.1 何ができるの?1.2 何で人気なの?2 Javaを勉強するには?2.1 書籍で学習する2.2 動画で学習する2.3 Javaを用いている会社に入る2.4 プ …

【初心者向け】Laravelのおすすめ学習法やできること、作れるものなどを徹底解説!

【初心者向け】Laravelのおすすめ学習法やできること、作れるものなどを徹底解説!

ロゴ画像引用元:https://github.com/laravel/art 今回はPHPのWebアプリケーションフレームワークであるLaravelを学びたいプログラミング初学者に向けて、現役エンジニ …

[PR]:
お得なキャンペーン中!!

転ストの中の人

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

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

プロフィール詳細 / Twitter
[PR]: