このような疑問、要望に応えるべく、Pythonの基礎を5つに分けて解説する記事です。具体的には、次の順番でお話ししていきます。
- Pythonの概要
- Pythonでできること
- Pythonの基本文法
- 開発環境の準備方法
- Pythonの学習方法
これからプログラミングを始めたい、Pythonに触れてみたい、と考えるあなた向けの記事ですので、ぜひご覧ください。
記事のもくじ
Pythonの基礎1:できることが多いシンプルなプログラミング言語
はじめに、Pythonの概要について簡単に紹介します。
Pythonは「少ないコード量で簡単にプログラムが書ける」「読みやすいコードが書ける」プログラミング言語であり、プログラミング初心者でも習得しやすい言語と言えるでしょう。
Pythonは1991年に開発されてから、今日まで高い人気を誇るプログラミング言語です。日経XTECHが発表した「プログラミング言語人気ランキング2020」では、Pythonは2位となっています。
また、これからPythonを学ぶ上では、Pythonには2系と3系が存在することを覚えておいてください。 Pythonのバージョンですが、2系と3系では大きく異なります。
既存のシステムの中には、2系で動作するシステムも多く存在しますが、これから学ぶのであれば、3系を使って学習を進めましょう。
参考にするサイトや書籍も、3系に対応したものを選ぶとよいでしょう。
そのほかにも、Pythonの特徴や初心者におすすめである理由などをまとめた記事も公開しています。興味のある方はぜひこちらもご覧ください。
参照元:プログラミング言語人気ランキング2020(日経XTECH)
Pythonの基礎2:Pythonでできること
Pythonを使うと何ができるのか気になる方も多いのではないでしょうか。ここでは、Pythonを使って具体的にどのようなものが開発できるのか紹介します。
あくまでも一例ですが、代表的なPythonでできることは次のとおりです。
AI(人工知能)開発
近年、Pythonでできることとして最も挙げられることが「AI(人工知能)開発」です。
Pythonには、AI開発を強力にサポートするフレームワークやライブラリが用意されています。
それらを使って手軽に開発できるため、昨今のAI需要の高まりと相まって、Pythonの人気に拍車をかけていると言えるでしょう。
Pythonで利用できるAI開発のフレームワークやライブラリとしては、「TensorFlow」や「Keras」が代表的な例です。
自動データ処理・分析
AI開発は非常に高度ですが、私たちの日々の業務にPythonを活用することもできます。
その活用例として「自動データ処理・分析」が挙げられます。
私たちは日々の業務のなかで、繰り返し同じような作業を行っているものです。たとえば、次のような業務が挙げられるでしょう。
- Web上の特定キーワードに関する情報を集める
- CSVファイルを集計してExcelの表にまとめる
- Web上の特定数値データを集計して分析する
など
このような業務は、Pythonを使うことで自動化できます。
Web上の情報を抽出する「Webスクレイピング」用のフレームワークやライブラリもPythonでは用意されているため、煩雑な作業を自動化することが可能なのです。
また、もちろんファイル操作も行えるため、業務効率化のためにPythonを活用することもできます。
Webサービス・Webアプリケーション開発
PythonはWebサービスやWebアプリケーション開発でも利用されます。
- Dropbox
など
海外ではWebサービス・Webアプリケーション開発で頻繁に用いられていましたが、日本でも利用される機会が多くなってきました。
Pythonはできることが非常に多いところが魅力の一つです。
さまざまなフレームワークやライブラリが用意されているため、Python一つで多くの要望に応えることができます。
Pythonの基礎3:基本文法
ここからは、Pythonの基本文法を紹介します。
サンプルコードとあわせて紹介しますので、Pythonの雰囲気に触れてみましょう。
インタラクティブシェルとソースコードの違い
Pythonはインタプリタ型言語であり、インストールした際にちょっとしたコードを実行するための専用シェルがはじめから用意されています。
その専用シェルが「インタラクティブシェル」です。対話型実行環境とも呼ばれます。
テキストにコードを入力し、「ファイル名.py」として保存することでソースコードとなります。
インタラクティブシェルの場合は、1行ごとに入力・実行されていきますが、ソースコードの場合は、読み込んで頭から実行されていく形です。
どちらも結果としては同じですが、利用方法が異なる点は覚えておいてください。 ここから先のサンプルコードは、実際にコピー&ペーストで利用できます。
Paiza IOなどのWebサービスを利用すれば、簡単に確認できますので、試してみてはいかがでしょうか。
変数の使い方
データを一時的に保存する箱である「変数」は、Pythonでは次のように利用できます。
number1 = 100 number2 = 200 string1 = "abc" string2 = "def" print("number = ", number1 + number2) print("string = ", string1 + string2) --実行結果------ number = 300 string = abcdef
他のプログラミング言語と比較しても、特別異なる点はありません。「変数名=値」で、変数にデータを格納することができます。
print関数を利用すれば、変数の値を簡単に参照可能です。数値と文字列の場合は、加算(+)の意味が異なる点に注意しましょう。
フロー制御(if,for,while)
条件分岐、ループなどのフロー制御は、Pythonでは次のように利用できます。
num = 100 if num <= 100: print("num under 100") else: print("num over 100") --実行結果------ num under 100
こちらの条件文では、num変数の値が100以下の場合に「num under 100」を表示するようにしており、numの値によって表示される結果が異なります。
次にループのサンプルコードを見てみましょう。
for i in range(3): print ("for-count=",i) j = 0 while j < 3: print ("while-count=",j) j+=1 --実行結果------ for-count= 0 for-count= 1 for-count= 2 while-count= 0 while-count= 1 while-count= 2
ループの場合は、for文・while文を利用しますが、見て分かる通りfor文の方が簡潔に記載することが可能です。
range関数は指定した数値までを返す関数であり、range(3)は「0,1,2」を返すことを意味しています。
フロー制御について、共通して最も重要なことが「インデント」です。
if/for/while文の末尾にコロン「:」が入力されていますが、次の行からは必ずインデント(字下げ)しなければ構文エラーとなります。
Pythonでは、コードの可読性のために制御文のグループごとにインデントをしなければなりません。
リスト、辞書
最後に、リスト・辞書の使い方を見てみましょう。
animals = ["dog", "cat", "rabbit"] weight = {"dog":5, "cat":2, "rabbit":1} print("animal =", animals[0]) print("animal =", animals[1]) print("animal =", animals[2]) print("weight=", weight["dog"]) print("weight=", weight["cat"]) print("weight=", weight["rabbit"]) print("dog-weight=",weight[animals[0]]) --実行結果------ animal = dog animal = cat animal = rabbit weight= 5 weight= 2 weight= 1 dog-weight= 5
リストは、複数の値を格納している変数・配列です。値を取り出す際には、0から始まるインデックス値を利用します。
辞書は名前付きリストとイメージするとわかりやすいのではないでしょうか。値を取り出す際には、インデックス名を指定します。
リスト・辞書はPythonを扱う上で非常に大切な要素ですので、難しいかもしれませんが、必ず身につけましょう。
Pythonの基礎4:開発環境の準備方法
ちょっとしたコードを実行するだけであれば、Paiza IOのような簡潔なサービスを利用すればよいのですが、しっかりと学習・開発を行う場合はそうはいきません。
開発環境を準備する必要がありますが、ここでは2つの方法を紹介します。
手軽に準備するなら「AWS Cloud9」
開発環境の準備は意外と大変です。しかし、AWS Cloud9を利用すれば、手軽に開発環境を準備できます。
AWS Cloud9は、クラウド上で実行できる統合開発環境(IDE)です。
ブラウザだけでコードの記述・実行・デバッグが行えます。
AWS Cloud9は無料で利用でき、パソコンの環境に関係なく利用できるため、これからPythonの学習・開発を行いたい方は、ぜひ利用してみてはいかがでしょうか。
公式ページからAWSアカウントを作成すれば、1年間は無料枠で利用可能です。
AWS Cloud9自体は無料ですが、コードを実行するためのEC2インスタンスは、無料枠で利用しないと料金が発生してしまいます。
AWS Cloud9を利用する上での注意点として覚えておきましょう。
ローカル環境に準備するなら「Anaconda」
ローカル環境に開発環境を準備する場合は、Anacondaがおすすめです。
Anacondaは、データサイエンス向けのプラットフォームですが、学習の際に必要となるライブラリなどが事前に用意された状態で環境を構築できます。
Pythonでは、必要に応じてフレームワークやライブラリなどを追加しますが、どうしても煩雑になりがちです。
Anacondaを利用すれば、煩雑なライブラリ管理から開放されるため、学習・開発に集中することができます。
Anacondaに同梱されているライブラリ郡は非常に多く、自分自身でライブラリ追加が行えるのであれば、最小版の「miniconda」を導入してもよいでしょう。
詳しいことがわからない場合はAnaconda、自分自身でライブラリ管理がしたい方はminicondaを導入しましょう。
Pythonの基礎5:学習方法
実際に開発環境が用意できたら、具体的にどのように学習を進めていけばよいでしょうか。
Pythonの基礎学習方法としては、書籍かオンライン学習サイトを活用するとよいでしょう。
書籍の場合はじっくりと取り組むことができ、パソコンがない場合でも学習を進められるメリットがあります。
反対にオンライン学習サイトの場合は、実際にコードを入力しながら学び進められる環境が用意されている事が多いため、開発環境を用意せずとも学習を進められます。
具体的なおすすめ書籍、オンライン学習サイトに関しては、こちらの記事で解説していますので、ぜひご確認ください。
まとめ:Pythonはできることが多く、初心者でも基礎から身につけやすい
Pythonはプログラミング言語のなかでもシンプルで、初心者におすすめの言語です。
さらに、AI開発からWebサービス・アプリケーション開発まで、幅広い分野で利用できます。
この記事のなかで紹介したサンプルコードをみて、興味が出てきたら開発環境を用意して実際に学習を進めてみましょう。
Pythonに関する情報はインターネット上にも多く公開されているため、わからないことがあれば、調べるとすぐに解決できますよ。
これからプログラミングを身に着けたいと考えている方は、ぜひPythonから身につけてみてはいかがでしょうか。