Python

Pythonでプログラミングを始めてみよう

By 2021年2月25日March 22nd, 2021No Comments

機械学習やAIで最近注目されているプログラミング言語Pythonは、人間の言語(自然言語)に近い記述で分かりやすいので初心者がまず始めに学ぶプログラミング言語として、人気の言語です。

これからPythonを勉強してみようという方に向けて、Pythonの特徴やPythonを使って出来ることを紹介していきたいと思います。

Pythonとは

Pythonは1991年グイド・ヴァンロッサムによって開発されたプログラミング言語で「シンプルで読みやすいコードが書けること」が設計思想にあります。

現在もPythonコミュニティでオープンソースとして開発され続けています。Pythonという名前はイギリスのコメディグループ「モンティ・パイソンが由来です。英語でPythonはニシキヘビを意味することからニシキヘビをあつらったロゴが使われています。

Python公式サイト(英語)

https://www.python.org

Pythonの特徴

当初の設計思想にある通り「読みやすさと処理の速さ」がPythonの特徴です。プログラミング初心者の人がみても何を意味するのかわかりやすいプログラミング言語で、コードもシンプルです。またライブラリも豊富なので、ライブラリをインストールして使えば自分でイチからコードを書かなくても機能を実装することができます。

Pythonをインストールした時に読める「Zen of Python」という文書が、まさにPythonとは、何たるかを表しています。この文書はPythonの開発者の一人であるティム・ピーターズによって書かれたものです。

import this

実行結果

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

美しいこと(コード)は、醜いこと(コード)に勝る。

明白であることは、盲目的なことに勝る。

複雑よりもシンプルであるほうがいい。

複雑は、入り組んで散らかったものより、いい。

といった意味です。この文にPythonらしさが表れています。

Pythonで開発されているサービス

現在さまざまな主要サービスがPythonで開発されています。いくつか例を挙げてみましょう。

・Dropbox

https://www.dropbox.com/

・Instragram

https://www.instagram.com

・Youtube

https://www.youtube.com

・Pepper(ソフトバンクが開発しているロボット)

https://www.softbank.jp/robot/pepper/

世の中で目にする多くのサービスがPythonで開発されていることがわかります。人工知能やAIの分野でも注目され、Pythonは今や人気のプログラミング言語の一つになっています。

Pythonで出来ること

では実際にPythonをつかって何か出来るのかを具体的にみていきます。Pythonで出来ることを知れば、多くの分野でPythonが使われ始めている理由が分かると思います。

データ分析、グラフの作成ができる

マーケティングの世界やデータアナリストの多くもPythonを使ってデータを分析しています。Pythonを使うと簡単にグラフが作成できたり、数値計算に便利なライブラリがあるのも理由の一つです。

Deep learning

機外学習用のライブラリ(Scikit-learnなど)も豊富で、処理の速さからもPythonが機械学習やディープラーニングに利用されています。

スクレイピングによるwebデータの自動収集

Pythonはwebのライブラリも豊富で、Beautiful soup4というライブラリを使えばスクレイピングが手軽に実装できます。web上から集めた情報を機械学習に生かすこともできるのも、Pythonが機械学習に人気の理由の一つだと言えます。

ブロックチェーンの実装

偽造されにくさと分散処理で注目を集めているブロックチェーンは、仮想通貨だけでなく金融や行政システム、大企業のデータ管理など、多岐に渡って利用され始めています。このブロックチェーンをPythonを使って実装することができます。根幹となる部分を実装するにはPython以外の言語が必要ですが、ブロックチェーンというものの仕組みを理解するためにブロックチェーンを動かしてみるならPythonで出来ます。

Webアプリケーションの開発

Webアプリケーション用のライブラリも豊富なことからブラウザ上で動くWebアプリケーションの開発にもPythonが使われています。またAndroidのモバイルアプリの開発にもPythonは使われています。

Pythonのバージョンの違いと互換性

Pythonには大きく分けて2系(2.x)と3系(3.x)があります。最新のPythonは3系ですが、3系と2系では互換性がないので注意が必要です。ちなみに2系の開発は2.7.13(2016/12/23リリース)をもって終了しています。

またバージョン2系は2020年でセキュリティの問題に関するサポートが切れるので、2系から、3系への移行が進んでいます。新たにPythonを勉強する人は3系で学習を進めましょう。

2系と3系ではプログラムの書き方の変更点が一部ありました。また標準ライブラリが統合されたり、再構築されたものもありました。

例えばprint文です。2系ではprintは式として扱われていたのに対し、3系では関数として扱われるようになりました。そのためprint()というカッコで囲った書き方に変更されました。

2系での書き方

print "Hello world"

3系での書き方

print("Hello world")

また文字列が3系からはUnicode文字列(str型)に統一されました。2系では非Unicode文字列(str型)とUnicode文字列(unicode型)が存在しました。

整数同士の割り算も2系では整数になっていた(端数を切り捨て)のに対し、3系では浮動小数点となりました。

2系での割り算

4 / 2

実行結果

2

3系での割り算

4 / 2

実行結果

2.0

Pythonをインストールしてみよう

WindowsでもMacでもLinuxでも動くのが特徴であらゆる開発環境に対応しています。公式サイトから最新のPythonをダウンロードして使ってみましょう。

Python公式サイト(英語)

https://www.python.org

<関連リンク>

Pythonの開発環境(執筆中)

Pythonでプログラムを書いてみよう

試しにPythonでHello worldと出力するだけの簡単なプログラムを書いてみます。他の言語と比べてシンプルでわかりやすいコードが書けることが分かると思います。

Python(3x)

print("Hello world")

Java

public class Sample_code {
    public static void main(String[] args){
        System.out.println("Hello world");
    }
}

C言語

int main(void) {
    printf("Hello world\n");
    return 0;
}

Pythonの学習に使えるサイト

最後にPythonの学習にあたっておすすめのサイトをいくつか紹介します。

Pythonチュートリアル(日本語)

https://docs.python.org/ja/

Python HOWTO

https://docs.python.org/ja/3/howto/index.html

明治学院大学 Pythonプログラミング

https://www.isc.meiji.ac.jp/~mizutani/python/

Q&Aサイト

・テラレイル

https://teratail.com

まとめ

今話題のプログラミング言語Pythonを紹介しましたが、いかがだったでしょうか?

Web業界だけでなく金融やロボット業界など、あらゆる分野で今後求められるスキルになると思います。

プログラミングをやったことがない人も、その他の言語と比べて思っていたよりコードが分かりやすいことに驚かれたのではないでしょうか。

・Pythonはシンプルに書けて処理が早いスクリプト言語のひとつ

・機械学習やAI、今話題のブロックチェーンまで、Pythonで開発されている

・人間の使う自然言語に近い表記で比較的わかりやすいプログラミング言語

・いろんな環境(Mac/Windows/Linux)でプログラムを走らせることができる

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL