リファクタリングをPythonで実践!基本手法とコード例・注意点まで
- 1.そもそもPythonとはどんな言語?
- 2.Pythonの効率的な学習方法は?
- 3.Pythonのおすすめ学習サイト【初心者向け】
- 4.Pythonのおすすめ学習サイト【中級者向け】
- 5.Python学習におすすめな本
1.そもそもPythonとはどんな言語?
Pythonは、可読性・記述性に長けたプログラミング言語です。他の言語と比べてみるとわかりやすいでしょう。
Pyhton
print('Hello TRAINOCAMP!')
Java
public class Main {
public static void main(String[] args) {
System.out.println("Hello TRAINOCAMP!");
}
}
PHP
<?php echo 'Hello TRAINOCAMP!'; ?>
いずれのプログラミング言語でも『Hello TRAINOCAMP!』が出力されます。ただ、Pythonの記述が一番シンプルですよね。
この書きやすく、読みやすいPythonを使ってどんなことができるかご紹介します。
①Pythonを使ってできること
Pythonが使えるようになると、以下のようなことが可能になります。
・Webアプリケーションの作成
・予測
・データ分析
・データ収集
・自動化
・画像解析
・計測
・映像処理
・IoT開発
・ドローン操作
・ラジコン操作
・ロボット開発
・3Dプリンター
この中にやってみたい、興味があるという項目はありますか?ひとつでも該当するものがあれば、Pythonを学ぶ価値があるでしょう。
②「Python2」と「Python3」の違いとは?
Python2と3、同じPythonという名称はつきますが、処理内容は異なりますので注意が必要です。
まずPython2は、2020年1月1日にサポートが終了しています。LinuxやOSXなどのシステム内ではPython2で稼働しているソフトウェアもあります。しかし、前述したPythonを使ってできることを行う場合、Pythonのバージョン3系を用いることがほとんどです。
よってこれからPythonを学習する場合は、Python3.9などバージョン3系を学ぶようになるでしょう。
参考までに、Python2とPython3を見分ける一番の方法は、print文がわかりやすいです。
# Python2
print 'HELLO'
# Python3
print('HELLO')
カッコのつく方がPython3です。サンプルコードをコピペしてエラーが出る場合、ひょっとするとPython2かもしれない、ということを知っておくと学習が捗ると思います。
2.Pythonの効率的な学習方法は?
スマホにアプリをインストールすればできることが一気に増えるように、私たちの体にPythonをインストールできれば手っ取り早いのですが、そうはいきません。
Pythonを効率よく学習する方法は、「計画」。これに尽きると思います。詳しくご紹介していきます。
①Pythonについて情報収集し全体像をつかむ
Pythonの学習をはじめる前、学習計画を立てるより先に、一旦Pythonの特徴や学習方法、学習体験談などを確認しておくといいでしょう。
「Pythonを実行するためにはPythonのインストールが必要か」「Python初心者でもライブラリを使えばAIも簡単に開発できるのか」「Pythonは大学の講義にも取り入れられているのか」などいろいろ気になる点があると思います。
Pythonの全体像をつかむことでスマートな計画を立てられ、効率よく学習を進めることができるでしょう。
②目標を設定する
Pythonでやりたいことが明確な場合は次の③に進んでいいと思いますが、そうでない場合もあるでしょう。
「将来に備えてPythonスキルを身につけたい」「Pythonで稼ぎたい」など漠然とイメージされている方もいらっしゃると思います。
ただ目標が明確になっていないと、挫折する可能性が高いです。
Web検索で自分の目標のインスピレーションを確認できなかった場合は、雑誌「日経ソフトウェア」や「ラズパイマガジン」など他の情報源を頼りに自分なりの目標を立てておきましょう。
ちなみに筆者の今の目標は、「犬型ロボットAIBOをPythonで動かす」です。
③Pythonの書き方を学ぶ
②で確認した最終的な目標を達成するために、まずは小さな目標を設定するとモチベーションを維持・向上できます。初めてPythonを扱われる方は、文字出力から確認することをおすすめします。
print('HELLO 〇〇')
と自分の好きな文字を入力すると、それに対してPythonが
HELLO 〇〇
と応えてくれる。はじめはこれだけでも嬉しくなると思います。徐々に小さい目標から仮想環境やpipなどとステップアップし、学習を続けることで確実にPythonスキルは身につくことでしょう。
「Pythonでやりたいこと、目標」に対して文字出力はごく一部であって、本格的にプログラム処理を始めるには文法やライブラリの使い方なども知る必要があります。
Pythonの参考書やYouTube、学習サイト、ブログなどをうまく活用しながら学習を進めましょう。
④実際に動かしてみる
そろそろPythonを実際に動かしたくなってきた方もいらっしゃると思います。
ただ、WindowsやMacではデフォルトの状態ではPythonは動きません。Pythonを自分のパソコンにインストールする必要があります。WindowsであればMicrosoft StoreからPythonインストールできますし、Macであればbrewを使ってPythonをインストールできます。
また一時的な利用であれば、オンラインでもPythonを実行できる環境が提供されています。(オンラインでPythonを実行できるサイト: W3 Schools)
「HELLO 私」を出力させてみてください。
参考記事:Pythonの開発環境の作り方!エンジニアがWindowsやMac、おすすめ環境も徹底解説
⑤作品を作る
Pythonを実際に動かせるようになれば、あとは目標である作品作りでしょう。
この工程が一番難しく挫折される方も多いポイント。
挫折理由のトップが「思ったように動かない」「エラーが解決できない」でしょう。
スポーツや勉強と一緒で、今はできない、わからないけれども、どうにかしてその問題をクリアできた時の充実感やスキルアップ感は格別です。
学習方法と同じぐらいエラー解決方法は重要なポイントになります。現在Pythonでお仕事をしている筆者からエラー解決のヒントをお送りすると、「時間をおく」「英語」の2つが挙げられます。
「時間をおく」は、エラーが解決できない時、諦めるのではなく、時間をおいてプログラムの全体感を考え直してみることです。違う処理方法が思い浮かび、うまく処理を実行できることが多々あります。
「英語」については、Google Chromeの設定言語を英語に変えて、英語で検索することです。世界中のPythonユーザーの知見に触れることで、いとも簡単に問題を解決できることが多々あります。
3.Pythonのおすすめ学習方法【初心者向け】
現在Pythonを学習する環境は、オンライン・サービス、本、対面など様々あります。気軽に利用できる学習環境・学習方法をご紹介します。
①基礎から試験対策まで網羅「トレノキャンプ」
https://camp.trainocate.co.jp/course/detail/8/
トレノキャンプはPythonの基礎から学べ、Python検定にも対応した体験型e-ラーニングです。受講生のPCに環境構築しハンズオンで実践的なプログラミングを学べます。
運用元であるトレノケートは優れたITトレーニングの実施機関であることを証明する「2021 Top IT Training Companies」にも選出されています。
無料で視聴できる講座もたくさんあるのでおススメです。
②開発環境なしで学習できる「Progate」
Progateは国内発のオンライン学習プラットフォームで、100カ国以上 240万以上のユーザーが使用している人気のサービスになります。
ブラウザ上で「Hello 私」とすれば入力すれば、ブラウザ上でPythonが応答し「Hello 私」と処理結果を返してくれます。Python環境不要で利用できるありがたいWebサービスです。
Pythonについては基本文法から少し応用のクラス構文までを学習できます。
③3分動画で気軽に学べる「ドットインストール」
YouTubeコンテンツが今のように充実する前、プログラミング学習でお世話になった方が多いのがドットインストールです。
約3分区切りの動画でテンポよく基本文法を学習できます。
現在1,080円のプレミアム会員になると、動画内のコードを閲覧・比較できたり、先生に質問できたりと、YouTubeとの差別化が図られています。
④入門から応用まで幅広く学べる「Python-izm」
Python-izmは、Pythonの基本文法からエクセル操作などサンプルコード付きで紹介しているWebサイトになります。
体系的に情報がまとめられていますが、運営元は不明です。
⑤テストのスコアが転職などでも使える「Paiza」
パソコン画面ひとつの中に動画教材、テキスト教材、プログラム記入欄、出力結果がまとまり、学習効率を上げてくれる環境がPaizaにはあります。
Pythonの基礎学習からAI、Webサービスなどスタートからゴールまで一貫して学習できる環境があり、さらには就職、転職のサポートも用意されています。
⑥環境設定から学べる「Let’sプログラミング Python入門」
https://www.javadrive.jp/python/
様々なプログラミング言語の記述方法を紹介する「Let’sプログラミング」では、Pythonの基本文法が詳しく紹介されています。
詳しい内容はありがたいですが、広告が多めのWebサイトになります。
⑦Python専門に広く深く学ぶなら「PyQ」
PyQは、Python特化型の学習プラットフォームで、他の学習サイトに比べると本格的な内容まで学習できます。例えば、データ収集時に役立つスクレイピングやアプリ開発の時に役立つAPIの使い方など。
毎月3,040円〜と有料ですが、7日間の無料期間がありますので本格的なPythonスキルを身につけたい方は必見でしょう。
4.Pythonのおすすめ学習サイト【中級者向け】
Pythonの基礎学習を終え、知識を増やしたい時に役立つ学習サイトを3つご紹介します。
①現役エンジニアによる解説が魅力の「Python学習講座」
https://www.python.ambitious-engineer.com/
こちらは現役Pythonエンジニアの技術メモが公開されているWebサイトになります。
長い文字のprintを手伝ってくれるpprintの使い方や処理時間の計測方法など、知っておくと便利なテクニックが多数公開されています。
②気になる分野を深堀りできる「Udemy」
https://www.udemy.com/topic/python/
体系的に低料金で学習動画を視聴できるUdemyにも、Python教材がたくさんあります。
基礎学習からスクレイピング、AIなど興味深いコンテンツが盛りだくさんです。
③グローバルに使える知識が学べる「UDACITY」
https://www.udacity.com/courses/all
UDACITYは、アメリカの営利教育機関のひとつで、実務レベルの学習をオンラインで提供しています。
英語にはなりますが、質が高く、修了証も発行してくれる学習プラットフォームです。
Pythonについては、AIや自動運転など今社会が求めている内容を学習できます。
5.Python学習におすすめな本
たくさんあるPython学習本の中から、初学者向け参考書として、以下の2点をご紹介します。
①1冊目としておすすめな「いちばんやさしい Python入門教室」
出典:http://www.sotechsha.co.jp/pc/html/1159.htm
本体価格:2,280円+税
発行:ソーテック社
全ページカラーで行間も広く、挿絵もあって一番読みやすい参考書が「いちばんやさしいPython入門教室」になります。
基本文法からはじまって、関数やクラスの書き方もイラスト付きで本当にわかりやすく表現されています。最初の一冊として大変おすすめです。
②基本がしっかり身に付く「Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!」
出典:https://www.shoeisha.co.jp/book/detail/9784798161914
本体価格:2,420円(税込)
発行:翔泳社
Pythonの基礎を学習したあとは、Pythonを使ってデータ収集やアプリ制作などをしたいですよね。
こちらの参考書は、フルカラーで視覚的にわかりやすく解説してくれるのが魅力です。ヤギの先生が、Webページからデータ抽出する方法、データを地図上にプロットする方法、APIを使ってデータを活用する方法など紹介してくれます。
カラー、イラスト、行間がゆったりめで、読んでいて疲れない参考書になりますね。