Pythonは、欧米では昔からプログラミング学習において人気のある言語でしたが、2015年頃から、日本で急激に人気が出た言語です。
その背景としては、「人工知能」と「機械学習」の世の中の需要の高まりがあり、機械学習のためのフレームワークが「Python」で作られていたのがきっかけでした。
Pythonの特徴
- 学習が容易
- 生産性が高い
- メジャーな環境に対応している(Windows、Linux、Mac、iPhone、Android)
- プログラムを「逐次実行」できる。
Phtyonの得意分野
- 科学分野
- データ解析
- 数値処理
- 人工知能(AI)と深層学習(ディープラーニング)
- Web開発
バージョン一覧
バージョン | リリース日 | 特徴 |
---|---|---|
0.9 | 1991年 | |
1.X | 1990年代後半 | |
2.X | 2000年代 | 現在でも広く普及しているが、2020年にはサポートを打ち切られると発表されている。 |
3.0 | 2008年12月3日 | 2から構造や、構文が一部変更された。 |
3.1 | 2009年6月27日 | |
3.2 | 2011年2月20日 | |
3.3 | 2012年9月29日 | |
3.4 | 2014年3月16日 | |
3.5 | 2015年9月13日 | |
3.6 | 2016年12月23日 | |
3.7 | 2018年6月27日 | |
3.8 | 2019年10月14日 | 代入と比較が一気にできる「セイウチ演算子(:=)」が登場した。 |
Python2と3の違い
2は未だに現役で、公式サポートもされています。(ただ、2020年に打ち切られるとされています。)
理由としては、3ではPythonの構造や構文に一部変更があり、2から使われきたライブラリやフレームワークが3に未対応だったためです。
ただ、今後数年でサポートを打ち切られることを考えると、新たしく学ぶ場合は3を学ぶべきです。
Pythonの種類
一口にPythonといっても、色々な種類があります。基本は、オリジナルの「CPythonを使う」と思っておけばよいでしょう。
種類 | 説明 |
---|---|
CPython | C言語で書かれたオリジナルのPython(Windows/macOS/Linuxそれぞれある。) |
IronPython | .net framework(Windows)上で動くPythonです。 |
JPython | Java仮想マシン上で動くPythonです。 |
Hello world!
下記のプログラムを用意します。(「hello.py」というファイル名で保存しましょう。)
1 |
print("Hello World!") |
「IDLE」を起動し、「File→Open」で作成したPythonのプログラムを指定します。
下記のような画面が開くので、「F5」を押します。
実行されました。
ジェネレータ関数
別にジェネレータ関数(yield)を使わなくても関数などを使えば処理は実装できます。ではなぜyieldは使うのでしょうか。
なぜ使うのか?
メモリ使用量を削減するためです。
リストなどで何万件のデータを扱おうとした時にアプリケーションが落ちてしまうことがあります。ジェネレータ関数を使うと例え何万件のデータを扱っていたとしても使用するメモリ量をほぼ0にすることが可能です。
ユースケース
DBから大量データを引っ張ってくる時。
ジェネレータ関数のデメリット
ただ、普通にリストを処理するのに比べて処理速度は低下します。機能や要件に応じて使うかどうかは判断した方が良いでしょう。
なので、例えば個数が100個とかならどちらも大したメモリ使用量ではないのでリストなどを使っても全く問題ないでしょう。
Webアプリ開発に使えるフレームワーク
Pythonでも、Webアプリ開発をすることができます。
いくつか開発のためのフレームワークがあります。
django(ジャンゴ)
Python用の本格的なWebアプリ開発のフレームワークで、他のPythonのフレームワークに比べて圧倒的人気を誇ります。
学習コストはそれほど多くありません。
管理サイトも付属していて、それを利用すればメンテナンスを行うことも可能です。
Flask(フラスク)
Python用の軽量Web開発フレームワークで、Pythonフレームワークの中では二番手の人気です。
短いソースコードの記述で、Webアプリを作ることができます。
日本語のマニュアルもあるので、割と初心者でもとっつきやすいです。
この記事へのコメントはありません。