プログラミング

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が公開した情報によると、2024年上半期のITエンジニアの転職市場は引き続き好調と予想されています。アプリケーションエンジニアですと、業務効率化や自動化などのDX推進に伴い、引き続き高い求人ニーズが続く見込みです。インフラエンジニアですと、SIer、SESなどでの求人ニーズが高まり、特にセキュリティー・クラウド関連のスキルを保有したエンジニアの需要が増加傾向にあります。アプリケーションエンジニアの転職では、ERP/クラウド/CRMの導入経験や知見、Java/Python/PHPの開発経験、アジャイル開発やDB設計経験などが評価されやすく、インフラエンジニアの転職では、LPIC2~3/LinuC2~3、CCNP、AWS認定資格、IPA関連資格などの資格・経験が評価されやすいです。なお、未経験者の採用については、2022年・2023年と比べると少しづつ落ち着いてきていますが、引き続き積極採用をしている企業も多いため、まだまだチャンスは見込めるでしょう。最短かつ確実に内定を勝ち取るためにも、自身の『棚卸し』はプロである転職エージェントを積極的に活用しましょう! ※引用:https://doda.jp/guide/market/001.html

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

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

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

関連記事

【初心者向け】Unityって何?できることやメリット・デメリットについて解説!

初心者向け『Unity基礎知識』できることやメリット・デメリット+おすすめスクールを解説!

ロゴ画像:Unity公式サイトより https://unity.com/ja/brand 本記事では、 Unityって何? Unityでどんな事ができるの? Unityを使うメリットを知りたいな この …

Flaskとは?〜PythonでWeb開発入門〜初心者向けにわかりやすく解説!

Flaskとは?〜PythonでWeb開発入門〜初心者向けにわかりやすく解説!

ロゴ画像:Wikipediaより https://commons.wikimedia.org/wiki/File:Flask_logo.svg 初めまして。現役エンジニアとして大阪のシステム会社に3年 …

初心者必読!C言語でできることや作れるものなどを【入門編】として解説!

初心者必読!C言語でできることや作れるものなどを【入門編】として解説!

ご存知のようにプログラミングでWebサイトやアプリなどを作ることができます。 現在、プログラミング言語は200以上も種類があると言われています。しかしプログラミング言語によって、できること・できないこ …

【初心者必見】Pythonを効率的に学習する方法やロードマップ、勉強の流れを徹底解説!

【初心者必見】Pythonを効率的に学習する方法やロードマップ、勉強の流れを徹底解説!

こんにちは! 私は文系出身で、プログラミング授業がなかった大学からプログラミングの世界に飛び込み、現在はIT企業でWebシステム開発を担当するエンジニアとして働いています。 プログラミング歴は4年にな …

Swift(スウィフト)とは?特徴や難易度、仕事内容や将来性などを解説!

Swift(スウィフト)とは?特徴や難易度、仕事内容や将来性などを解説【初心者向け】

ロゴ画像引用元:https://developer.apple.com/jp/swift/resources/ 現役エンジニアが新たに習得したいプログラミング言語の候補として、Swiftを考えている方 …

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

転ストの中の人

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

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

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