「Pythonってどんなプログラミング言語なの?」
「プログラミングをゼロから始めにはどうしたらいい?」
今回はプログラミング言語、Python(パイソン)のお話です。
プログラミング初心者の方でもゼロから学習することが出来る方法をご紹介します。
先に結論ですが、プログラミング学習は、ざっくりと下記流れで学ぶとイメージが湧きやすいです。
実際にプログラミング環境を作ってみて自分で動かしてみるのが大事。
プログラミング初心者の方はまず『プログラミング』とはどんなものかイメージをつけて見て下さい。
Python初心者のおすすめ学習方法の流れ
Python入門として、下記流れでプログラミング学習するのがオススメです。
環境構築
まずはプログラミング環境構築から始めます。
Anacondaというソフト(アプリ)をインストールすると簡単にPythonの環境を構築することが出来ます。
基本文法を学ぶ
Pythonの環境構築が出来たら、実際に自分の手で入力してみましょう!
まずは「Hello, world」から。
実際に自分の手を動かしてみるとイメージが湧いてきます。
制御構文を学ぶ
プログラミングの大事な考え方は、条件分岐と繰り返しです。
これまた、実際に自分の手を動かしてみて、for文やif文を学びましょう!
関数を作ってみる
次は関数を作ってみましょう!
プログラミングでは自分で好きな『関数』を作ることが出来ます。
ちょっと考え方が難しいですが、プログラミングのレシピ、『クラス』も紹介してます。
ライブラリを使ってみる
Pythonがよく使われている1つの理由が、ライブラリが豊富という点です。
機械学習では大量のデータを取り扱う上で、行列計算が必要になってきます。
そんなときに便利なライブラリ、Numpy(ナムパイ)の使い方をご紹介してます。
グラフを描いてみる
プログラミングをする上で、可視化って大事です。
最終的には分かりやすいグラフを出力したりします。
Pythonにはこれまた便利なグラフ描画ライブラリ、Matplotlibがあります。
色々な描画ができるので、お試しあれ!
データ分析してみる
Pythonに少し慣れたら、データ分析してみましょう!
Kaggle(カグル)というという世界中の機械学習・データサイエンスに携わっている約40万人の方が集まるコミニティーで初心者向けにチュートリアルとして公開されている有名なデータセットがあります。
さわりだけですが、データ分析の雰囲気を味わってみて下さい♪
なぜプログラミングを学習するの?
『2020年、プログラミング教育が小学校で必修化!』、けっこう話題になってます。
少し前までは『ダンスの必修化』が話題になりましたが、いよいよ『プログラミング』もかぁと驚いています。
確かに、プログラミング的思考をすることで、
- 物事を論理的に考えるようになったり
- 創造力や問題解決能力が高まったりする
ので、個人的には大賛成です。
例えば、for文(繰り返し)やif文(条件分岐)を考える場合、頭の中でフローチャートを描くんです。
たとえば、こんな感じ。
※フローチャート (flowchart、流れ図) とは、プロセスの各ステップを箱で表し、流れをそれらの箱の間の矢印で表すことで、アルゴリズムやプロセスを表現する図です。
こういうのを考えていくと頭の体操になるんですよね。
だがしかし!!
プログラミングの『プ』の字も分からなかったり、
そもそも何のこっちゃ分からなくて
いきなり『インタプリタ型』とか『コンパイラ型』、『オブジェクト指向言語』とか専門用語を並べられるともはや・・・
わけがわからないよ(´・ω・`)
『分からないもの』
↓↓↓
『嫌い!』『苦手!』
そんな意識を持たれている方もいらっしゃるのではないでしょうか?
今回はその考えを少しでも打破すべく、
まずはそのふざけた幻想をぶち壊す!
的な感じでPythonについて書いてみようと思います。
Python(パイソン)ってなに?
そもそもPython(パイソン)ってなんやねん?!という方もいますよね。
Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。
文法を極力単純化してコードの可読性を高め、読みやすく、また書きやすくしてプログラマの作業性とコードの信頼性を高めることを重視してデザインされた、汎用の高水準言語である。 核となる本体部分は必要最小限に抑えられている。一方で標準ライブラリやサードパーティ製のライブラリ、関数など、さまざまな領域に特化した豊富で大規模なツール群が用意され、インターネット上から無料で入手でき、自らの使用目的に応じて機能を拡張してゆくことができる。 またPythonは多くのハードウェアとOS (プラットフォーム) に対応しており、複数のプログラミングパラダイムに対応している。Pythonはオブジェクト指向、命令型、手続き型、関数型などの形式でプログラムを書くことができる。動的型付け言語であり、参照カウントベースの自動メモリ管理(ガベージコレクタ)を持つ。 これらの特性によりPythonは広い支持を獲得し、Webアプリケーションやデスクトップアプリケーションなどの開発はもとより、システム用の記述 (script) や、各種の自動処理、理工学や統計・解析など、幅広い領域における有力なプログラム言語となった。プログラミング作業が容易で能率的であることは、ソフトウェア企業にとっては投入人員の節約、開発時間の短縮、ひいてはコスト削減に有益であることから、産業分野でも広く利用されている。Googleなど主要言語に採用している企業も多い。 Pythonのリファレンス実装であるCPythonは、フリーかつオープンソースのソフトウェアであり、コミュニティベースの開発モデルを採用している。CPythonは、非営利団体であるPythonソフトウェア財団が管理している。その他の実装としては、PyPyやIronPythonなどが有名である。 Pythonは、オランダ人のグイド・ヴァンロッサムが開発した。名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』である。Pythonという英単語が意味する爬虫類のニシキヘビがPython言語のマスコットやアイコンとして使われている。Python -Wikipediaより引用
・・・長い。
最近は『AI』や『IoT』が注目されるようになって、良く耳にするようになりましたね。
Perl(パール)とかRuby(ルビー)とかJava(ジャバ)とかFORTRAN(フォートラン)とか、プログラミング言語って色々あるんです。
英語もそうですが、プログラミング『言語』も必要にならないと覚えません!
Pythonの特長
さて、Pythonの特長はいろいろとありますが、主に3つあります。
- すぐに実行できる(OS問わず)
- プログラムが読みやすい
- 追加機能が豊富(しかも無料!)
これらがPythonが今注目されていて多くの人に使われている理由です。
もう少し簡単に言うと、
- パソコンの種類を問わず、
- 誰でもかんたんに取り組めて、
- しかも機能がいろいろあって無料!
プログラミング初心者にも易しいし、玄人にも拡張性があるから使いやすい、そんな言語なんです。
Pythonの用途は?
用途は色々あります。
- Webアプリ
- 数値計算・解析
- ITシステム管理(NW機器情報みたり)
- システム管理ツール
だったり。
もちろん、昨今有名な『AI』、正確には『機械学習(Machine learning)』にも使われています。もう少し踏み込むと『深層学習(Deep learning)』など。
『AI』という言葉もけっこう独り歩きしていますが、今回の記事ではそこは触れません。また機会があれば^^
機械学習を学びたい方は、TensorFlow(テンソルフロー)という、OSS(オープンソフトウェアライブラリ)を導入すると、色々と試すことができます。
わたし、気になります!
という方は、『TensorFlow』でググってみると色々と情報が得られます♪
このように、簡単に情報が得られるところもPythonの良いところです^^
Pythonのバージョンについて
Pythonのバージョンは、2系と3系があり、Python3が良く使われています。
Python2とPython3のプログラムには互換性がないので、注意です^^
Pythonを学ぶモチベーションについて
これはわたしの持論ですが、Pythonをただ学ぶだけでは意味がないと思います。
今の時代、プログラミングが出来る人は山ほどいます。
まぁそれでも人が足らなくなるってことで、『プログラミング教育の必修化』があるんですけどね。
第4次産業革命やグローバル化に対応する人材育成。
どんどんプログラミングが当たり前な世の中になってきます。
そのうちほとんどのものが『ブラックボックス』になって『AI人材』がいらなくなる、なんてこともあるかもしれませんし、ないかもしれません。
※ブラックボックス:ブラックボックス (Black box) とは、内部の動作原理や構造を理解していなくても、外部から見た機能や使い方のみを知っていれば十分に得られる結果を利用する事のできる装置や機構の概念。
そんな世の中で、あなたが今プログラミングを勉強する理由を良く考えてください。
英語もしかりです。
『言語』って使わなきゃ身に付きません。
英語もプログラミングもあくまでも『ツール』なんです。
文法やコーディングを覚える『お勉強』ではなく、まずは使ってみて、試してみてください。
それを使って、何がやりたいのか、何を実現したいのか?
自分で考え、それを形にしていく、それが楽しいですよね。
さぁプログラミングを始めてみよう!
Python、けっこう使いやすいです。
繰り返しになりますが、実際に自分でプログラミングを書いてみるのが大事です。
プログラミングを使って何がしてみたいのか。
データ分析?機械学習?それとも・・・???
ぜひ色々と試してみてくださいね♪
実際にものを触ってみたい方はRaspberry Pi(ラズパイ)もおすすめです!
コメント