きょうはPYTHON(パイソン)について学びます。
人気急上昇中のプログラミング言語です。(レベル3~4)
python はシステム開発の他にも、「読みやすく、書きやすく」というコンセプトで開発されました。計算処理系のライブラリが豊富なことから、機械学習などにも使われます。
でも、いままでのプログラミングとどう違うのでしょうか?いろいろソフトがでまわっているのに不思議ですね、どうしてなんでしょうか?
きょうはあなたと、そのパイソンについて学習します。
Python は現在人気No1のプログラム。他のプログラムと比べて「シンプル」というのがその理由です。それに加えてネット上に無料・有料のチュートリアルがあふれているということもあります。私は、人気のあるものに飛びつく癖のある三重県津市在住のそこそこ年取っている男性です。
1.Python とは?
これから Python を学んでいこうと思います。
Python とは「ニシキ蛇」のことですが、名前の由来は「空飛ぶモンティパイソン」という TV 番組からきています。
Python は、プログラミングを始めたばかりの人にも簡単に使える便利な機能がたくさんつまっています。他のプログラミングと比べてシンプルで読みやすくプログラムが動いた結果をすぐに見ることができます。日本の代表的な国家資格である、基本情報技術者試験でも導入されています。
これはやってみる価値があります。
- 入力したプログラムをすぐ見ることができる
- アニメーションも入れられる
これは面白そう!
まずは基本からやってみたい。動かしたいのはやまやまですが、「急いては事を仕損じる」とかいいますから、基本から試し試しやっていこうと思います。基本さえ押さえておけば実践的なプログラミングがわかるというものです。
ともあれ、初めて習う言語です。難しい場面に遭遇するでしょう。まして「独学」です。
でも学習の基本
- 分からなくなったら部分を見る。いちどにプログラム全体をわかろうとせず分解してみる。
- うまくいかなかったら、問題から離れて寝てしまう。翌朝あらためて取り組んでみる。
1.さて、それではなにからはじめたらいいのか?
- まず、Python のインストールからです。
- 基本的な計算をしたり文字を画面に表示する
- リストを作る
- 「関数」の機能を使い、プログラムの再利用
- Python に組み込まれている「モジュールの使い方」
もともと、ゲームを作るプログラムという一面もありそうです。Web アプリ開発などにも使えるので、学んでおけばいろんな分野に活かせます。特に人工知能について学習し技術を身につけたいと考えている人は Python を学ぶべきではないでしょうか。
読みやすくレベルの高いコードとサンプルが多いものの、ディープラーニングのための統計処理には言語以外の知識も必要になります。コードはシンプルで、どのエンジニアが見ても何が書いてあるのかわかりやすいので、作業内容の共有がしやすく仕事もはかどるかもしれませんね。
2.「YouTube」や「Instagram」などの開発にも Python
「応用範囲の広さ」「案件の豊富さ」「将来性の高さ」というそれぞれの基準が高く、python でできることはたくさんありそうです。
Web アプリの開発、機械学習、統計・データ分析、IoT などの分野は将来に渡っての技術発展が見込まれています。私たちの生活の中で、もっと人工知能が当たり前になると、開発に携わる技術者の需要も高まりますからね。
Python のプログラムは簡単です。簡単ですが実用的なものが作れます。他の言語のように、記号を多く使うということがありません。Phthon 最大のメリットは「書きやすさ」なのです。生産性が高くなるよう配慮され、プログラミング初心者でもミスをしずらいようになっています。
例えば Python を Web アプリ開発に使う場合には、HTML や JavaScript の知識があると便利です。別のケースで、Pythonで作成されたシステムと、Ruby で作成されたシステムの連携を検討している場合では、Ruby の知識があると役立つかもしれません。
何を知っているか、何ができるかも大事ですが、必要になったタイミングでどれだけ柔軟に早く身に付けられるかがより大事な素養だと思います。
Python は書きやすく読みやすいだけでなく、様々なジャンルにチャレンジできるのも特徴です。
柔軟に早く身に付けられるかがより大事な素養なのね。
2.PYTHON のインストール
Python はインストールしてすぐ使えるというツールではありません。
そんな人気のPython ですが、初心者はどう学んでいけばいいのでしょうか。
自分で書いたプログラムを動かすには、いろいろなツールの使い方を勉強する必要があります。
まず、https://www.python.org にアクセスします。Windows 用の最新のインストーラーをダウンロードします。「ダウンロード」と書かれたリンクをクリックします。
1.Python のダウンロード
メニューバーの「ダウンロード」か下の「ダウンロード」どちらかをクリックします。
または「Python.jp」からでもできます。こちらは日本のパイソンなのでわかりやすい解説が豊富です。
Windows のばあい、64bit と 32bit があるので自分のパソコンはどっちなのか確認してください。
ダウンロードすると、「python.exe」ができるのでそれをクリックすると、最新版をインストールできます。
2.Python のインストール
インストールが始まりました。終了すると緑が消えるので待ちます。これで Windows に「Python3.9」がインストールできました。
まずは、Colabを使えるように準備しましょう。
準備といっても、次の2ステップだけで、簡単に完了します。
- Googleアカウントを用意し、ログインする
- Colabにアクセスし、プログラムを書き込むノートブックを作成する
さっそく、Colab にアクセスしてみます。
Google Colaboratory (新しいウィンドウで開きます)
最初は、次のような画面が表示されます。まず、Pythonのプログラムを入力して実行する 「ノートブック」 を作成します。
「ノートブックを新規作成」 をクリックします。
3.やさしくわかる Python の教室
基本情報技術者試験で Python が導入!
日本の情報技術者の代表的な国家試験である、基本情報技術者試験では2020年から Python が導入されています。Python は書きやすさに注力しており、ちょっとしたものから本格的なプログラムまで、さまざまな分野で人気を集めました。
Google や Dropbox のような大企業も Python を本格的に導入して来ました。日本でも、アメリカから世界中に Python が流行っていく過程で、人気言語としての地位を確立していきます。
1.Pythonで基本的な計算や文字の表示方法
1.計算の方法
Pythonでは、基本的な数値演算子(+、-、*、/)を使用して計算を行うことができます。以下に例を示します。
<div class="info-box"># 加算<br>result = 10 + 5<br>print(result) # 結果: 15
<p> </p>
<p># 減算<br>result = 10 - 5<br>print(result) # 結果: 5</p>
<p># 乗算<br>result = 10 * 5<br>print(result) # 結果: 50</p>
<p># 除算<br>result = 10 / 5<br>print(result) # 結果: 2.0</p>
</div>
2.文字の表示方法
Pythonでは、print() 関数を使用して文字列を表示することができます。以下に例を示します。
<div class="info-box"># 文字列の表示<br>print("Hello, World!") # 結果: Hello, World!
<p> </p>
<p># 変数を使った表示<br>message = "Hello, Python!"<br>print(message) # 結果: Hello, Python!</p>
</div>
print() 関数は、カンマで区切られた複数の引数を受け取ることもできます。これにより、複数の値や変数を一度に表示することができます。
<div class="info-box"># 複数の値を表示<br>name = "Alice"<br>age = 25<br>print("名前:", name, "年齢:", age) # 結果: 名前: Alice 年齢: 25</div>
これらの基本的な要素を組み合わせることで、Pythonでさまざまな計算や文字の表示を行うことができます。もちろん、より高度な操作や制御構造も可能ですが、これらの基本的な機能から始めると良いでしょう。
基本的な計算
Pythonで計算するんはめっちゃ簡単や。こんな感じで書いたらええで。
# 足し算
a = 3 + 5
print(f"足し算の結果は {a} やで") # 出力: 足し算の結果は 8 やで
# 引き算
b = 10 - 2
print(f"引き算の結果は {b} やで") # 出力: 引き算の結果は 8 やで
# 掛け算
c = 4 * 7
print(f"掛け算の結果は {c} やで") # 出力: 掛け算の結果は 28 やで
# 割り算
d = 20 / 4
print(f"割り算の結果は {d} やで") # 出力: 割り算の結果は 5.0 やで
# 整数の割り算
e = 20 // 3
print(f"整数の割り算の結果は {e} やで") # 出力: 整数の割り算の結果は 6 やで
# 余り
f = 20 % 3
print(f"余りの結果は {f} やで") # 出力: 余りの結果は 2 やで
# 累乗
g = 2 ** 3
print(f"2の3乗の結果は {g} やで") # 出力: 2の3乗の結果は 8 やで
文字の表示
次に、文字の表示方法やな。print
関数を使うねん。
# シンプルな文字の表示
print("こんにちは、大阪!") # 出力: こんにちは、大阪!
# 変数を使うて文字を表示する
名前 = "太郎"
print(f"こんにちは、{名前}さん!") # 出力: こんにちは、太郎さん!
# 複数の変数を使うて表示
年齢 = 25
print(f"{名前}さんは {年齢} 歳やで") # 出力: 太郎さんは 25 歳やで
入力を受け取る
ユーザーからの入力を受け取るんも簡単やで。
# ユーザーから名前を聞く
名前 = input("名前は何や? ")
print(f"こんにちは、{名前}さん!") # ユーザーの入力に基づいて挨拶する
# ユーザーから年齢を聞いて計算する
年齢 = int(input("年齢は何歳や? "))
来年の年齢 = 年齢 + 1
print(f"{名前}さん、来年は {来年の年齢} 歳になるんやな") # 計算結果を表示する
これで基本的な計算や文字の表示、入力の受け取り方がわかると思うで!Pythonは簡単で使いやすいから、いろいろ試してみてや。
2.Python がノンプログラマーにとって最適なわけ
- Python の最大のメリットは「書きやすさ」です。生産性が高くなるよう配慮され、プログラミング初心者でもミスをしづらいようになっています。
- Python は書きやすく読みやすいだけでなく様々なジャンルにチャレンジできるのも特徴です。Python はその書きやすさから徐々に利用を広げました。Web 開発やツール作成などはライブラリ(拡張機能)が数多く開発、利用されています。これらのパッケージをすぐさま利用できることが人気を強く支えています。
- 数値計算や機械学習(AI)などの重要な領域でも支持を集めるようになります。ついにはこれらの分野で欠かせない言語として成長しました。たとえば、AI の分野で非常に人気のある Python や TensorFlow というライブラリは Python での利用を主に想定しています。
「バッテリー同梱」
- プログラミングの初心者にとって大きなハードルとなるものに「環境構築」があります。環境構築は、かなり難易度の高い作業になりがちで、最も挫折しやすいポイントのひとつといっても過言ではありません。その点、Python には「バッテリー同梱」という思想があります。
- 家電製品を買ったときに、商品のパッケージに電池が含まれていると、買い手としては助かります。Python はそれと同じユーザビリティを提供するということを大事にしています。ユーザーはパッケージングされた配布物をダウンロードすることで環境が整えられるのです。
- Python は非営利団体である PSF が中心となって「オープンソースソフトウェア」として開発がされています。祖のソースコードが公開されていて、世の開発者はそれを自由に閲覧・使用・配布・改変することができます。利用者は、無料で使用し、自由にカスタマイズできます。
プログラミングで何かを実現したいとき、Python ならライブラリや使い方の情報などが数多く手に入るメリットがあります。
3.Python の最高の学び方
Python は公式ドキュメントが充実しています。公式ドキュメントとは、Python の開発元が提供するプログラムの詳しい解説書のようなもの。「プログラミングの勘所」さえつかめていればこれで十分学べます。
ただ、初心者は公式ドキュメントだけでは情報量が多く、難しい面もあります。
下記に上げる著書はプログラミング初心者の方に「Python 最初に第一歩」と「プログラミングの勘所」を一冊で教える書籍です。キャラクターの会話形式でやさしく・楽しく、Python が学べます。
Python のインストールから、実際に動くプログラムをつくるまでが解説対象です。
本書を読んで、公式ドキュメントや上級者向けのコンテンツを読めば、内容がするするとわかるようになります。その肝心かなめの第一歩を楽しく学びましょう。
Pythonを学ぶための最適な方法
オンラインのチュートリアルやコースを利用する
オンライン上には Python の無料または有料のチュートリアルやコースが豊富に存在します。例えば、Codecademy、Coursera、Udemy、edXなどのプラットフォームが Python の学習資源を提供しています。これらの資源を活用して基礎から学ぶことができます。
プロジェクトベースの学習
Python の学習においては、プロジェクトベースの学習が非常に有効です。実際のアプリケーションやプログラムを作成しながら学習することで、実践的なスキルを身に付けることができます。例えば、ウェブスクレイピング、データ分析、ゲーム開発などのプロジェクトを選び、それを実際に作りながら Python の概念や機能を学んでいきましょう。
Pythonの公式ドキュメントを参照する
非常に詳細で信頼性の高い情報源です。Python の公式ウェブサイトには、言語の基本的な構文や機能、標準ライブラリなどに関する情報が記載されています。公式ドキュメントを通じて Python に関する正確な情報を入手し、深く理解することができます。
プログラミングコミュニティに参加する
Python は非常に人気のあるプログラミング言語であり、多くの活発なコミュニティが存在します。オンラインフォーラムやソーシャルメディアでPython に関する質問や議論に参加し、他の開発者との交流を通じて学びを深めることができます。
コーディングの実践と挑戦
Python を学ぶ上で、定期的なコーディングの実践が重要です。自分自身のアイデアを実装したり、既存のプロジェクトに貢献したりすることで、実践的なスキルを向上させることができます。また、コーディングのチャレンジやパズルを解くことも、問題解決能力と Python の知識を得て下さい。
4.データサイエンス
現在 Python の人気は他の言語を押さえて1位です。
データサイエンスいうのは、データを集めて、分析して、そこから意味のある情報を引き出すことや。これを使うて、ビジネスの意思決定をしたり、科学的な発見をしたりするんや。
1.なんでPythonが使われるんや?
データサイエンスの分野でめっちゃ人気がある理由
簡単に使える
Pythonはシンプルな文法で、初心者でもすぐに覚えられるんや。コードが読みやすいから、チームでの開発もしやすいんやで。
豊富なライブラリ
データサイエンスに役立つライブラリがいっぱいあるんや。例えば、以下のようなもんやな:
NumPy
数値計算用のライブラリや。配列(array)や行列(matrix)を使うて高速な計算ができるんやで。
pandas
データ操作用のライブラリや。データの読み込み、書き込み、加工、クリーニングなんかが簡単にできるんや。
Matplotlib
データの可視化に使うライブラリや。グラフやチャートを作るんに便利やで。
scikit-learn
機械学習用のライブラリや。いろんなアルゴリズムが用意されてて、モデルの作成、評価、予測ができるんや。
TensorFlowとPyTorch
深層学習(ディープラーニング)のライブラリや。高度なニューラルネットワークのモデルを作るんに使われるんや。
コミュニティが大きい
Pythonのユーザーは世界中におるさかい、困ったことがあったら助けてくれる人がたくさんおるんや。チュートリアルやドキュメントも充実してるんやで。
2.具体的に何するんや?
Pythonでデータサイエンスする具体的な流れを簡単に説明するで:
1.データの収集
データを集めるんや。CSVファイルから読み込んだり、ウェブからスクレイピングしたり、データベースから取得したりするんや。
import pandas as pd
データ = pd.read_csv('data.csv')
2.データの前処理
データを綺麗にするんや。欠損値を処理したり、不要な列を削除したりするんやで。
データ = データ.dropna() # 欠損値を削除
3.データの分析
データを分析して、傾向やパターンを見つけるんや。統計的な手法を使うたり、グラフを作ったりするんや。
import matplotlib.pyplot as plt
データ['列名'].hist()
plt.show()
4.モデルの作成と評価
機械学習のモデルを作って、データを元に予測したりするんや。モデルの性能を評価して、改良するんやで。
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X = データ[['特徴量1', '特徴量2']]
y = データ['目的変数']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
モデル = LinearRegression()
モデル.fit(X_train, y_train)
予測 = モデル.predict(X_test)
5.結果の共有
分析結果やモデルの予測を分かりやすくまとめて、関係者に報告するんや。レポートを作ったり、プレゼンしたりするんやで。
Pythonは柔軟で強力なツールやさかい、データサイエンスの仕事をするんにはもってこいやで!
3.大まかには大量のデータを収集して分析する業務
主に、顧客の購買データを集計し、購買傾向を分析して在庫の調整に活用したり、顧客個人ごとに広告を最適化することとか、分野は多岐にわたります。ITではしばしば大量のデータを扱うので、PythonはたいていのIT関連職で出番があります。
特に上述のようなECサイトの分析、広告配信系での機械学習を利用したサービス提供などで求人が多いようです。Python は汎用性が高い言語ですから様々な用途で使われています。
標準ライブラリが充実しているためシンプルなコードでやりたいことが実現できますが、標準ライブラリにほしい機能がない場合は、PyPI というパッケージインデックスサービスからサードパーティパッケージを入手することもできます。
Python は一度習得すれば幅広い用途で利用でき、コストパフォーマンスも高いですが、活用するには、Python の文法や、利用頻度の高いライブラリの使いかたについて把握、理解しておく必要があります。
公式ドキュメント
そうした際に利用できる情報リソースとして、Python には文法や標準ライブラリを解説している公式ドキュメントがあります。これらのリソースを日ごろから利用することで、Python のポテンシャルを生かした開発がしやすくなりますが、情報量が多いため、この中から自分に必要な情報を探し出すのは少々骨が折れる作業です。
そんなときにお勧めしたいのが「Python エンジニア育成推進協議会 Python 実践レシピ」です。入門書では取り上げることが少ない重要トピックと、Python プログラムでよく利用する標準ライブラリ、サードパーティによるライブラリについて、使いかたをわかりやすくまとめています。
各節の解説では、それぞれ著者の経験に基づいた「周辺知識」「よくあるエラー」など載せ、実際のプログラミングで活かせる情報をより充実させています。普段から手元に置いて、Python プログラミングの支えとして常用できる内容、構成となっています。
シンプルで扱いやすい言語なのね。
あとがき
Python は Web アプリケーションフレームワーク Django(ジャンゴ) を使った Web システム開発や科学計算などで長らく利用され、人気を博してきました。フレームワークとは、アプリケーションを開発する際によく使われる機能がまとまったソフトウェアのことです。
Django を使えば、コンテンツ管理システムやソーシャルネットワーク、ニュースサイトなど、Webアプリケーションを簡単に、少ないコードで作成できます。機能を拡張して複雑なWebアプリケーションを作成することもできます。
最近では、機械学習、ディープランニング、AI などの用途で用いられるケースが増え、さらにビジネスパーソンの間にも業務の自動化用途で利用したいというニーズが高まり、また日本では基本応報技術試験でも Python が採用されるなど、ユーザーの裾野が大きく広がっています。
このように、Python の人気とその成長は、シンプルで扱いやすい言語であるということに加えて、オープンな環境で世界中の開発者が、利他の精神をもってかかわっているということによって支えられています。こうした背景が、Python をより魅力ある言語としているのです。
PYTHON について悩みや疑問がありましたらご自由にコメント欄に投稿してください。(コメント欄はこの記事の最下部です)。いただいたコメントはすべて拝見し、真剣に回答させていただきます。
コメント