「Python(パイソン)」 は、プログラミング言語の1つです。
わかりやすく・シンプルで、プログラミング初心者にもオススメの言語です。
ここ数年、とても人気があり、多くの方が学んでいます。
使う人が多いので、ネット上に情報も多くなり、自分がつまづいたときに、解決方法が書いてある確率が高まります。
結果的に、もともと分かりやすい上に、つまづきにくいプログラミング言語が Python です。
Python は様々な使い方ができます。
よく注目されるのは、人工知能や機械学習など、データ分析の応用かと思います。
数値計算やグラフ描画なども手軽にできるライブラリが充実していて、
初心者でも比較的短期間でクオリティの高いアウトプットができるようになります。
Python はその他にも、ゲームプログラミングや、アプリの開発にも使えます。
5Gの実現とともにより重要となる IoTなどの応用でもPythonが注目されています。
Python を身につけることで、
ビジネスパーソンの方なら、就職や転職の幅が広がったり、
フリーランスの方なら、ライバルとの差別化ができたりします。
Python を学ぼう!
とは思ってみても、
- プログラミングってむずかしそう
- どうやればいいのかわからない
- お金をかけたくないなぁ
といった方も多いのではないでしょうか。
そこで本記事では、
- Python をまったくの初心者の方から
- なるべくつまづかない方法で
- お金をかけずにできるやり方
について、まとめたいと思います。
先に結論をまとめておくと、上のことを実現するために、
- (1), 自分のレベルにあった適切なレベルの本を選べる
- (2), 複数の教材のいいところを、適切な順番で吸収していく
- (3). Amazon の Kindle の読み放題(Unlimited)を活用する
この(1), (2), (3)を意識することで、
- よりわかりやすく
- つまづかず
- お金をかけずに
学ぶことができます
本記事の概要
アマゾンの Kindle(キンドル)とは?
アマゾンが提供する「電子書籍」のことです。
電子辞書の中には、読み放題(Unlimited)の本があります。
無料(30日間)で読むことができます。
30日以内にキャンセルすれば料金はかからないので、
無料で学べます。
その後、月980円で読み放題になります。
電子書籍なので、ダウンロードしたらすぐ読めます。
まだ登録していない方は、登録してみてください↓
アマゾンの オーディブル(Audible)とは?
ちなみに、オーディブル(聞く読書)もあります。
様々な名著や小説、英語のリスニングなど、音声で学ぶのに適した本を、聞きながら学べます。
寝る前のベットで、電気を消して聴くなどもオススメです。
無料(30日間)で、キャンセルすれば料金はかからず、
無料で学べます。
その後、月1500円で聴き放題になります。
音声で聞く形なので、英語のリスニングなどでも特にオススメです↓
【Python 学習】Pythonを無料で学びたいあなたにおすすめの本 はこちらです ゲーム・データ分析・機械学習・人工知能AIも無料です【在宅 本 Kindle Unlimited】
プログラミング学習のポイントとは
(自分のやり方があるよって方は、スーッと下に行かれてくださいね)
プログラミングは向き不向きがあると言われたりします。
プログラミングの考え方に1番近いのは数学です。
その他の科目とは違う考え方をします。
なので、考え方(見方)の違いを理解しておかないと、自分は不向きだと思ったり、挫折しやすくなります。
逆に言うと、プログラミングに適切な考え方や見方を身につければオッケーです。
いい本に出会っても、考え方や見方が身についていないと活かせない可能性があります。
そこでまず、プログラミングの考え方をサクッとまとめたいと思います。
プログラミングを学ぶ時に意識するといいのは、
- 小さな部品をきちんと覚えること
- (目的を持って)部品の組み立て方を学ぶこと
の2点かと思っています。
かけ算九九でいうと、数字を覚えてないと九九は覚えれません。
まずは、0、1、2、3、・・・・9の数字をきちんと覚えますよね。
プログラムでは、それが文法に対応します。
数字は繰り返して覚えたように、
プログラミングの文法を身につけるにも「繰り返す」ことが大事です。
各数字を覚えたら、それらの組み合わせ方を意識しましょう。
数字の組み合わせで、例えば、
1192
を、”いちいちきゅーにー” と覚えてもいいですが、覚えにくい方は、
いい国作ろう
のように、強引でも意味を与えながら理解するのが上達のコツです。
プログラムにおける意味とは
プログラムは、見た目は無機質ですが、
書いた人の「意図」や「目的」があります。
意図や目的を言い換えると、
「使った部品」と、部品を使う「順番」
と表現できます。
これから自分がプログラムを読むとき、書くときには、
- どんな「目的」を達成させたいのか
- そのために必要な「部品」は何か
- どんな「順番」で使うのがいいか
という考え方を意識し、自分で脳内の記憶をたどりながら身につけるのがポイントです。
- 大きな目的
- 小さな部品(目的を達成するために必要な部品はなにか?)
- 部品の順番(部品をどういう順番で使うと効果的か?)
この3つを考えながら、コードを読んだり書いたりしてみてください。
具体的なやり方を説明しますね。
書籍の中には、サンプルコードがあります。
これを以下のように問題に見立てて、自分で再現できるか考えながら読んでいきましょう。
- このサンプルコードは、〇〇をするためのコードだな
- 自分ならどんな部品とどんな順番で使って実現するかな
これを自分の中でつぶやいてみてください。
頭の中の記憶から色々引っ張り出してください。
最初はもやもやとした漠然とした知識しか出てこないかもしれません。
それをすべて紙に書き留めてみてください。
出そろったら、それらを目で見ながら、整理してみてください。
自分の思考の癖や、こう考えれば良かった、といった点が見えてきます。
これらの改善点を次から活かせるようになることが上達のポイントです。
1冊の本のサンプルコードについて、これらを何回も繰り返してみてください。
(ただし完璧にしすぎないことがポイントです)
すると、以下のようにだんだんできるようになってきます。
(1周目)だいたいこんな理解でいいかな?とりあえず次行ってみよう
(2周目)これやったことあるな、どうだっけもう一度コードを読もう
(3周目)だいたいわかるけど、正確にはどうだっけ、読んでみよう
(4周目)書いてみたけど、正しいか確かめるために読んでみよう
(5周目)書けたけど、念のため読んで確認しよう
このように、1回読んでできるようにならないのが普通です。
2回目読んでみて、全然できないじゃん!
となって、挫折するのが1番もったいないです。
しぶとく繰り返しやってみてください。
ただし、丸暗記でなく、
- 目的は何か
- 目的の実現に「必要な部品」はなんだろう(部品の特性を理解)
- 部品の順番はどうすればよさそうか(全体の流れの理解)
を「考えて」「導ける」ようにしておきましょう。
また、コードを読むときに「音読」も効果的だと思っています。
詳しくは、こちらの記事にもございます↓
『プログラミング超初心者のあなたが、独学で基礎から入門するのに役立つ、プログラミング勉強法、おすすめの本はこちらをどうぞ』
まずは、Python の文法(上でいう部品です)を身につけましょう。
と言っても、完璧にしようなどと意気込まずに、気楽に始めてみても大丈夫です。
- こういう時は、こう書けばいい
を体に染み込ませていくのがポイントです。
(「もし〜なら、・・・する」を増やしていきます)
基礎Python 基礎シリーズ
本書は、Python をこれから本格的に使いたい方向けの最初の1冊に特におすすめです。
Pythonを始めるための予備知識(言語の特徴・インストール・使い方など)をゼロから丁寧に解説してくれています。
その後、Pythonの基本文法について、1つずつ注意点とともにわかりやすく解説されています。
- プログラムの流れを変える処理(if文)
- 繰り返し処理をする(for, while文)
- 組み込み済みの型(文字列・リスト・タプル・辞書・集合・内包表記)
- 関数、テキストファイルの扱い、クラス(作成・活用・継承)
など、Python 初学者の方がまず知っておけばいいポイントが網羅されています。
コラムにはこれからプログラムを作成していく際に出会うであろうあるあるの疑問や、発展的な話題について、わかりやすくまとめてあります。
本書を一通りやってみることで、その後のPython での応用での利用がスムーズにできるようになる1冊となっています。
こちらもございます↓
全140問をサクサク答えれるようになることで、Python の基礎が固まる1冊となっています。
- 短い時間で区切ってやる
- スケジュールを立てやすい
- わからないポイントを繰り返し復習しやすい
といったメリットがあり、つまづきにくい1冊となっています。
こちらもわかりやすいのでオススメです↓
どうしても
- プログラミングがピンとこないんだよなぁ〜
という方は、スクラッチ(Scratch)という教育プログラミング言語を触ってみてから、Pythonに戻ってくる方法もございます↓
逆に、
- ちょっと物足りないなぁ〜
といった方は、以下でより詳しい使い方や、ライブラリの活用法について補強されるとさらに良いかと思います。
やりたい操作があるときに、辞書的に調べてみる、といった使い方もできる1冊となっています↓
逆引きPython標準ライブラリ 目的別の基本レシピ180+! impress top gearシリーズ
こちらもございます↓
『Python のフレームワーク・ライブラリ・ツール・開発環境などを活用し、Pythonで業務効率化をしたいあなたはこちらをどうぞ』
Python の文法を1つひとつ覚えていくのは、性に合わないなぁ〜
といった方は、
- 作りながら学ぶ
という方法もオススメです。
例えば、ゲームを作りながら学べば、自分のプログラムの1つひとつが、どういう変化を生んでいるか目に見えます。
「プログラム」と「結果の変化」を視覚的に見ながら学ぶことで、
より集中して学ぶことができるのではないでしょうか↓
Pythonゲームプログラミング 知っておきたい数学と物理の基本
本書はゲームを作りながら、楽しみながらPythonを身につけれる1冊です。
数学や物理は、人工知能や機械学習など、AI技術でも役立ちますが、
本書では、ゲームを作る過程で、自然と数学や物理に触れながら、プログラミング能力を高めることができます。
他にも画像処理や3次元描画などを、極力自力でプログラミングしていくことで、
Unity や Unreal Engine などのゲームライブラリを使う際にも、ライバルよりも一歩進んだ理解ができます。
また、速度・加速度・三角関数・ベクトル・行列などは、シミュレーションや人工知能・機械学習などの理解でも役立ちます。
ただ、本書はPythonをある程度できる必要があります。
目安としては、クラスが使われているプログラムを理解できたり、ライブラリの使い方がわかればオッケーです。
- ちょっと自分には厳しそうだなぁ〜
と思った方は、
同著者による Python の入門書もありますので、そちらをまず勉強されるのがオススメです↓
もしくは、上で紹介した本を一読し、
その後、辞書として参照しながら、本書を1つひとつ読み解いていきながら進める方法がオススメです。↓
本書は、Python をゲームを作りながら楽しく学べるだけでなく、
数学や物理の基礎も学べるお得な1冊となっています↓
JavaScript で学べたらな〜というあなたには、同著者のこちらもございます↓
Pythonでゲームプログラミングを学びたいあなたには、こちらの記事もございます↓
『「ゲームプログラミング」に「Python」で、プログラミングの基礎を未経験から入門したいあなたにおすすめの本や参考書はこちらをどうぞ』
Pythonで画像処理・OpenCVなど学びたいあなたはこちらもございます↓
『画像処理をPythonで学びたいあなたにおすすめの書籍はこちらをどうぞ【aiやopenCVもどうぞ】』
Python 人気は、データ分析との相性のよさにもあります。
これからの求人ではPython プログラミングに加え、データ分析ができることで、より良い待遇を得ることができやすくなるはずです。
- Python でのデータ分析がどんな感じなのか
をポイントを押さえ、効率的に学べるのがこちらです↓
初心者向けPythonデータ分析入門: Numpy/Pandas/Matplotlib/Scikit-learn/Keras対応 (神草出版)
本書は、Python でデータ分析・機械学習をやってみたい方向けに、
Pythonの様々なライブラリ(NumPy、Pandas, Matplotlib, scikit-learn, Keras)について、
基礎と応用例の最初の第一歩をそれぞれ提供してくれます。
Python によるデータ分析について、素早く全体像をつかむのにおすすめの1冊です。
NumPy, Pandas, Matplotlib などは、それぞれなぜ必要なのか(存在意義)や、重要な機能、代表的な応用例の実装と解説があり、
- こういうライブラリなのか!
という最初のつかみを効率的に提供してくれます。
scikit-learnやKerasでは、具体例について、手を動かしながら学ぶことができます。
理論面などには立ち入らず、サポートベクターマシン、ランダムフォレスト、XGBOOST、ディープラーニングの動かし方・応用例について、
わかりやすい解説とともに、つまづかずに体験することができます。
本書は、Python を始めて間もない方やデータ分析の初学者の方が、
詳しい参考書に移る前にやっておくと、その後の学びが加速する1冊となっています。
ただ、本書ではそれぞれのライブラリなどは内容が絞られているため、
その他の使い方など、別途補っていくことが重要です。
詳しい参考書等を使いこなすためのハードルを下げてくれる1冊としてもオススメです。
それぞれのライブラリについてのより詳細な解説書等は以下の記事にもございます↓
『Python で NumPy に入門し、使い方を学びたいあなたにおすすめの本はこちらです』
『Python で Pandas に入門し、データ分析など使い方を勉強したいあなたにおすすめの本はこちらです』
Python は、アプリ開発をすることもできます↓
ほぼPythonだけでサーバーレスアプリをつくろう (技術の泉シリーズ(NextPublishing)
本書は、Python でアプリ開発をしたい方向けの1冊です。
Amazon Web Service (AWS) を使った「サーバーレス(サーバー管理不要)」アプリ開発の手法を学べます。
自分でサーバーの管理をすると様々な手間がかかりますが、Amazonに任せることで、アプリ開発に集中できるメリットがあります。
Python で AWS上に効率的に開発するためのフレームワーク(Chalice) の使い方を学ぶことができます。
また、PythonコードをJavaScriptに変換するトランスパイラ(Transcrypt)により、
JavaScriptでできること(例えば、Webブラウザ上での実行、デスクトップアプリ開発、スマホアプリ開発など)をPythonで記述する方法を体得できます。
これによりPythonでの開発の幅を大きく広げることができます。
AWSの設定もしっかりわかりやすく、Windows, Mac, Linuxごとに解説されています。まだデータベースは、DynamoDB(キーバリューデータストア)を使い、
アクセスが増えた場合にスケーリングしやすい方法を学ぶことができます。
また、開発したアプリを修正・改良していく際に、
ソースコードを変えたら、同時にビルドやテストや、本番環境へのリリースなどを自動的に行えたら便利ですよね。
これらを実行するための環境は「CI/CD環境」と言います。
- 継続的インテグレーション(CI(Continous Integration)
- 継続的デリバリー(Continuous Delivery)
について, CodePipeline を使ってCI/CD環境の構築方法を学ぶことができます。
さらに、実装したアプリの「テスト」のやり方も、ソフトウェア開発の基本的な流れ(V字モデル)に従って解説がされています。
テストのやり方が解説されており、実際にpytestやSelleneを使ったテスト(ユニットテスト・APIテスト・UIテスト)を手動・自動で行うことで、
作って終わりのアプリでなく、品質が担保されたアプリを作成することができる1冊となっています。
こちらもございます↓
というわけで、本記事では、
- Python をまったくの初心者の方から
- なるべくつまづかない方法で
- お金をかけずにできるやり方
について、まとめました。
初心者の方でつまづきやすい点に、
- プログラム環境を作る
という作業があります。
今回ご紹介した本にも、環境構築方法はまとめられています。
もしわからなかったら、以下の記事にもありますので、参照されてみてください↓
『「Python 環境構築」のやり方や手順をまとめました:ダウンロード、インストール、仮想環境の作成(venv)など[macOS編](Python 初心者向け)』
こちらもございます↓
『「Pythonとは?」Python言語を学ぶメリットや年収、難易度などをまとめました(Python 初心者向け)』
『『Pythonを学習し、未経験からバイトや転職に結びつけたいあなたにおすすめの入門書はこちらです』』
『Python でできることってなに?チャットボットやテキストマイニング、人工知能やスクレイピングなどPythonの使い方をまとめました』
こちら無料です↓