Top > テクノロジー > プログラミング

Python2系環境でもPython3系のモジュールを使う方法






Pythonの技術書やエントリーが巷に溢れる中、2系の環境だからと諦めているあなたに簡単に使えるお得なモジュールを紹介します。

皆さん、こんにちは。

Pythonの学習は進んでいますか??

最近は機械学習やスクレイピングの方法がPythonで書かれた書籍も多数出ており、Pythonの学習のハードルもぐっと下がってきたように感じます。

 

最近出版された技術本を眺めてみると、Python3系のコードで書かれたサンプルコードが掲載されている書籍も数多く見られます。

掲載されているコードを元に業務に生かそうと考えている方もいらっしゃると思います。

しかし、技術本の内容をそのまま使おうとしたら担当しているシステムが2系だったためにモジュールがなく、使えなかったという経験をした方も多いと思います。

ですが、諦めてはいけません。Python2系でも3系のモジュールを使う方法があります。

それは__future__モジュールを使うという方法です。

 

28.11. __future__ — future 文の定義 — Python 2.7.x ドキュメント

 

こちらの__future__モジュールを使うことで、Python3系のモジュールのうち、Python2系とは互換性が無いモジュールを、Python2系で使うことができるようになります。

 

早速、例をお見せ致します。

Python2系と3系の違いの中で有名なものに、2系では文だったprint文が3系では関数になったというものがあります。

下記に実際に試してみた例を示します。

まずは、__future__モジュールを使わなかった場合です。

 

$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print "テスト"
テスト

 

print文が実行出来ました。

続いて、__future__モジュールで試してみます。

 

$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> print "テスト"
  File "", line 1
    print "テスト"
                    ^
SyntaxError: invalid syntax

 

なんと2系にも関わらす、print文が実行出来ませんでした。

では、print関数はどうなのかを確認してみます。

 

$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> print('テスト')
テスト

 

見事、Python2系でprint関数が実行出来ました。

 

これで2系の環境でも3系のモジュールを使うことが出来ました。

最後までお付き合い頂き、ありがとうございました。


フォローして最新の情報をチェック!





おすすめ記事



人気記事ランキング



最新のお知らせ

2017年03月29日 FULL HOUSE公式メディアが就活アンサーと連携しました
2017年03月01日 株式会社FULL HOUSEが創業1年を迎えました!
2017年02月13日 TABI CHANNELが多言語対応しました
2017年01月09日 【祝】Petpedia のFBいいね数が1万を突破しました!
2017年01月01日 【謹賀新年】2017年もFULL HOUSEをよろしくお願い致します。

タグ一覧

転職(10)
面接(13)
採用(13)
アプリ(7)
iPhoneアプリ(6)
Androidアプリ(6)
ゲーム(5)
アニメ(5)
洋楽(4)
映画(4)
本(2)
トレーニング(1)