Python3について

Pythonには、Python2系と3系の二つがあります。
最初にこの違いがわからずに勉強を始めてしまうと、後で痛い目にあいます。

このサイトで扱うのは、Python3.x系です。
二つの違いは、Python2系→3系への互換性はありますが、逆はないということです。世の中に溢れているPythonの情報は2.7のものが多く、リファレンスも充実していますが、モジュールのアップデート等は現在2系では一切行われていません。

はじめに

これからPythonを始めたいけど、プログラミングなんてやったことないからわからねえ!という方のために、同じ立場の人間がこそこそとサイトを立ち上げ、その勉強の記録と併せてわかりやすくかつ体系的に勉強ができるようにしたいというのがここの目的です。

Pythonとは


Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計され、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。

なぜPythonなのか

Pythonは簡単に言えば「扱いやすい」言語です。

可読性が高い

Pythonは簡潔に記述ができるので、誰が書いても同じような構文になりやすくかつ、読みやすいものとなっています。
例えば、

“`py
x=1
print(x)
[/python]

これが実行された時、何が出てくるのか全くプログラミング言語を知らない人でもわかると思います。

こんな風に、超絶分かりやすく、比較的ハードルが低い言語がPythonというわけです。

信頼性が高い

PythonはGoogleやFacebookでも公式に使われていて、特にGoogle三大言語(C++、Java 、Python)と言われるくらい重宝されています。

どこのサイトで見たかうろ覚えですが、Google社内ではこの言語以外を扱いたい場合は稟議を出さなければいけないほどらしい。

そんな広く強く、将来性のある言語がPython。

まぁ他にも実行速度とかなんやかんやいいところはたくさんあるみたいだけど、素人にはそんなこたあどうでもいい、分かりやすく、成果が得られやすいならPythonで良いということだけわかれば。

▼PythonJapan公式サイト▼


Pythonは、Windows、Linux/Unix、Mac OS Xなどの主要なオペレーティングシステムはもちろん、Javaや.NETなどの仮想環境でも動作するプログラミング言語です。PythonはOSIに認証された オープンソースライセンス で公開されており、商用製品の開発にも無料で利用できます。

使えるようにするには

次は環境の構築です。

まずはPythonを感じてみよう

以降、「ターミナル.app」(Windowsでいうところのコマンドプロンプト)を使うことが多くなります。
いつでも起動できるように準備しておきましょう。
Macではアプリケーションのショートカット機能があまりないので、「CLCL Lite.app」の導入をお勧めします。
CLCL Liteは、指定したキー(⌘など)を2回押すと指定したアプリケーションを実行できる便利なアプリです。

「CLCL Lite」のレビューをチェック、カスタマー評価を比較、スクリーンショットを確認、詳細情報を入手。Mac OS X 10.6かまたはそれ以降対応の CLCL Lite をダウンロードして Mac で利用。

まずは書いてみよう

実は便利なことに、MacにはPythonが組み込まれています。
つまり、今この瞬間からPythonコードを実行させることができるんですよ。

試しにやってみましょう

エディタ(編集ソフト)

テキストエディットでもいいのですが、描きやすいソフトを自分で見つけておくと良いです。

エディタはどれがいいの?という方は、Appstoreの「Foobar.app」がお勧めです。

Foobar.app

軽量な上に、多様な言語に対応し、すぐに実行結果を得られます。ということはこれから行うターミナル上でのPython実行とは別に、「foobar」でもPythonが動かせるということですね。(追加モジュールのインストールができないので正規表現のみの実行&日本語非対応となりますが、練習にはいいかもしれません。)

ダウンロード&インストールはこちら↓から。


Read reviews, compare customer ratings, see screenshots, and learn more about Foobar. Download Foobar for Mac OS X 10.10 or later and enjoy it on your Mac.

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-13-57-35
実行結果がすぐに得られる

Atom.app

他には、メジャーなエディタとしては「Atom」があると思います。オープンソースでかつ、世界中の開発者たちが作ってくれた拡張機能が充実しています。
自分はHTMLやCSS、Javascriptも手を出しているのでこちらをメインに使っています。

ダウンロード&インストールはこちら↓から。


At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it.

拡張子「.py」

Pythonコードを記述したファイルの拡張子には.pyを使います。
試しに作ってみましょう。

好きなエディタで以下のように記述します。

“`py
print(‘Hello, world!’)
[/python]

適当に保存します。
今回は、「test.py」という名前で「デスクトップに保存」します。

まずはファイルのパスをコピーします。
パスというのは、「そのファイルがどこにあるのか記したもの」です。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-14-29-21
ファイルを右クリックすると、「test.pyをコピー」という部分が出てきますが、この画面のまま「optionキー」を押してください。
すると、「test.pyをコピー」→「test.pyのパス名をコピー」に変わるはずです。

ターミナルを起動

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-14-33-35
ターミナルを起動します。

ここで、以下のようにコマンドを入力します。

“`py
python /Users/[あなたのユーザー名]/Desktop/test.py
[/python]

/Users〜の部分は先ほどコピーしたファイルのパスです。
これは、「pythonで、パスのファイルを実行してね」という宣言になります。

Hello, world!

と出てくるはずです。

Pythonの世界へようこそ!

しかしこれでは毎回パスをコピーしなきゃならないの?という悩みがあります。
もう少し便利にしましょう。

ターミナルで以下のようにコマンドを入力します。

“`py
cd desktop
[/python]

すると、コマンド入力欄のデフォルトが「デスクトップでやるよー」という指示に変わります。
[ユーザ名:~$]の部分が[ユーザ名]:desktop $に変わっているはずです。

ここでもう一度以下のコマンドを実行します。

“`py
python test.py
[/python]

Hello, world!

すると、今回はパス名を入力せずに実行することができましたね。

この「cd desktop」は覚えておくと便利です。

Macにデフォルトで入っているPythonは2.7のバージョンです。

次は、Macで3系を使うためのパッケージ「Anaconda」の導入編です。

Python3環境「Anaconda 4.x」の導入

Anaconda4.xのインストール

Macに搭載されているPythonが2.7なので、ちゃんとした3系の環境を構築する必要があります。
ここで、面倒くさいことを全部避けまして、Anacondaをインストールします。

ターミナルからインストールする方法もありますが、素人にはいつも通りのやり方が一番。

AnacondaはPython3に必要な機能が全部入りされた便利なパッケージです。

ダウンロード

ダウンロード&インストールはこちら↓から。

インストールが終わったら

ターミナルを開き、以下のコマンドを実行します。

python

Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

と出てくるはずです。
PythonやAnacondaの後にある数字(3.5.2とか)はもちろんバージョンです。
これでバージョンを確認することができました。
単純にバージョン確認はこちらでもできます。

python --version

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

とりあえずここまでできました。

Anacondaをそのまま導入すると、MacのデフォもPython3で動くようになります。
実行パスを変更すれば2.7に戻せますが、その方法はまた別の機会に・・・。

参考にした記事


Python やそのパッケージをインストールする方法はいくつかありますが、ここでは Anaconda を使ってインストールする方法を紹介します。

Anacondaの使い方

Anaconda-Navigator

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-15-27-03
使い方は簡単です。まずは「Anaconda-Navigator」を起動します。

Jupyter Notebook

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-15-31-28
アプリケーション一覧の中にある「Jupyter」を選択して、起動します。
すると、こんな感じでだららららっとターミナルが起動します。

[I 15:33:01.178 NotebookApp] [nb_conda_kernels] enabled, 2 kernels found
[I 15:33:01.997 NotebookApp] ✓ nbpresent HTML export ENABLED
[W 15:33:01.997 NotebookApp] ✗ nbpresent PDF export DISABLED: No module named 'nbbrowserpdf'
[I 15:33:02.083 NotebookApp] [nb_anacondacloud] enabled
[I 15:33:02.089 NotebookApp] [nb_conda] enabled
[I 15:33:02.096 NotebookApp] Serving notebooks from local directory: /Users/hitoribucho
[I 15:33:02.096 NotebookApp] 0 active kernels
[I 15:33:02.096 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 15:33:02.096 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

これはさして重要ではないですが、その後にデフォルトのブラウザで「Jupyter Notebook」が起動したと思います。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-15-35-25
この画面は、Finderのユーザーの階層にあるファイルを表示しています。

プロジェクトファイルの作成

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-15-38-03
画面右端の「NEW」タブから「Python」を選択します。
[conda root][default]どっちゃでも構いません。

起動すると、やっとこさPythonコードを打ち込める状態になります。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-26-15-40-39

今気づいた。画像とか別にいらなくね?

画像がないと進めない人とかPythonさわらないだろうし・・。
ちゃっちゃと書いた方がためになるかも・・・・。

ちゃっちゃといきます。

コードを書いてみる。

一番簡単なコードを書いてみましょう。

print('Hello, world!')

実行は「Shift + Enter」でおこなえます。


Hello, world!

が得られたはずです。

おめでとう、シンジくん、おめでとう。

Anacondaを入れたことによってpipというライブラリをインストールするツールが使えるようになりました。

次回はそれについて書いていきます。

pipでライブラリを追加する方法

pipツール

前回は、Python3を扱うためのパッケージ「Anaconda」の導入を行いました。

このアナコンダには、pipツールという新しいライブラリを追加するための便利な機能がもれなくついてきます。


pipはPythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムである。多くのPythonパッケージは、Python Package Index(PyPI)上にある[1]。
pipはPython 2.7.9 以降、Python 3.4以降からデフォルトで付属するようになった[2]。

プログラム言語の勉強で一番厄介なのは、常に新しいカタカナ文字や単語が現れてくるということです。

そもそも、ライブラリってなんぞや?

ライブラリとは、簡単に言ってしまえば怠惰なコーディングを可能にする呪文セットのようなものです。

説明が下手くそなので、実際に感じてもらうしかないでしょう。てか、ライブラリの意味あってんのかこれ?知らんがな。素人だもの。

でもなんとなく掴めばええねん。いろいろ学んだ後に専門用語は身につけるもんじゃ。

ということで、そんな呪文のようなライブラリを使えるようにするにはPythonの中にライブラリをインストールしなければなりません。

その時に使うのが、「pip」コマンドです。

試すが一番

ターミナルで以下のようにコマンドを入力します。

pip install bs4
もしくは
pip install beautifulsoup4

ダラララララっとインストールされるはずです。
すぐに終わります。

基本となるのは「pip install [パッケージ名]」です。

今回は、[bs4]と入れました。
これは、Beautifulsoup4という神パッケージになります。

どんな呪文が使えるようになるのかというと、htmlページのソースを一気にsoup(=引き出して)くれます。

これを「スクレイピング」と呼ぶそうですが、そんな単語ドウデモイイ。
でも、覚えておけば検索につかえるからバカにできないのがまた厄介なところ・・・。


ウェブスクレイピング(英: Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラー[1]あるいはウェブ・スパイダー[2]とも呼ばれる。 通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブラウザを埋め込むことによって、WWWのコンテンツを取得する。

パッケージリストの確認

今後pipをつかってたくさんのライブラリを入れていくと思われますが、何を入れたっけ?となった時には次のコマンドを打ちます。

pip list

という感じで、今回はpipを使ってライブラリをインストールするところまで。

次はいきなり実践編となりますが、このBeautifulsoup4を使って、実際にウェブスクレイピングして見たいと思います。

学には実践が一番。
ある程度感覚がつかめてきたところで基礎から始めるのがいいんじゃね?というのが私の持論。