はじめてのPython!パッケージをimportする方法をやさしく解説!

今回はPythonでパッケージを使用するために必要なimportの方法について、解説していきたいと思います。パッケージは、Pythonのコードが書かれたファイルが複数ある場合や、他の人が作ったコードを再利用するときによく使われます。

そもそもimportって何?
パッケージの作り方について教えてほしい
パッケージをimportして使える状態にしたい

そのような方に向けて、この記事では以下の内容について解説していきます!

  • 【基礎】importとは
  • 【基礎】モジュール、ライブラリ、パッケージとは
  • 【実践】パッケージの作り方
  • 【実践】パッケージをimportする方法


importはパッケージやモジュールを呼び出して使用するときによく使いますので、使い方についてはよく理解しておきましょう。

※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

まずはimportについて理解しよう!

importとは

importとは、Pythonで書かれたコードを再利用するためにはに使用します。importはソースファイルの先頭に以下のように記述します。

これからimport出来るファイルの作成と、importのさまざまな方法について見ていきましょう!

モジュール、ライブラリ、パッケージとは

import出来るファイルには、

  • モジュール
  • ライブラリ
  • パッケージ

など、さまざまな呼ばれ方をするものがあります。モジュールとは、Pythonのファイル(.py)の事です。Pythonである程度の長いプログラムを書く場合などは、コマンドラインではなく.pyファイルに実行したい内容を保存します。

そしてその保存された.pyファイルは、他のPythonのプログラムからimportで呼び出して使うことも出来ます。これをモジュールと呼びます。また、複数のモジュールで構成されたものはパッケージと呼ばれます。

科学技術計算でよく使われるnumpyなどはすべてパッケージという形で配布されています。モジュールやパッケージは、使うとメンテナンス性が高くなり、管理がとても楽になります。

また、自分以外の開発者に同じ機能を使ってもらう場合は、機能の仕組みを知らなくても簡単に使ってもらうことが出来ます。ちなみにPythonではライブラリという言葉の定義は(私の知る限り)曖昧で、パッケージに近いものだと考えてOKだと思われます。

【まとめ】

  • モジュールとはPythonのソースファイルのこと
  • パッケージは複数のモジュールで構成されたもの
  • ライブラリはそれらを組み合わせた意味として使うこともある

パッケージの作り方

ここからは、実際に簡単なパッケージを作ってみましょう。今回はmod1.pyとmod2.pyというファイルを作り、これらを一つのパッケージとして作ってみましょう。mod1.pyはこのようになっています。

mod1.py

続いてmod2.pyはこのようになっています。

mod2.py

これらをmodsampleという名前の一つのフォルダにまとめましょう。今の構成はこのようになっています。

モジュールをまとめることはできましたね。

しかし、これではまだパッケージとして認識されません。Pythonにパッケージだということを伝えるためには「__init__.py」というファイルを作らなければなりません。この__init__.pyの中身は空でも問題ありません。

しかし、この__init__.pyにimportしておきたいファイルを相対パスを使って書くことで、複数のファイルを一度にimportさせることも出来ます。

と書くと、ひとつ下にある複数のモジュールを扱うことが出来るようになります。__init__.pyを追加した今の構成はこのようになっています。

これでパッケージは完成しました。この後はいろいろな方法でこのパッケージを呼び出してみましょう

パッケージをimportする方法

先程作ったパッケージを使うためには、importという作業をしなければなりません。これからのサンプルコードは対話モードのPythonで実行しても問題ありません。

しかし、modsampleという先程作ったパッケージは、対話モードのPythonを実行する場所においておきましょう。まずはパッケージ全体を読み込んでみましょう。こちらのサンプルコードを見てみてください。

これだけで、先程作ったパッケージがimport出来ました。importの基本はこの形になるので覚えておきましょう。

これでパッケージ全体(modsampleディレクトリ以下全て)を読み込むことができましたが、あまりに膨大なコードを含むパッケージでは実行速度にも支障が出てきてしまいます。そこで、次は本当に使いたい一部の機能だけを読み込んでみましょう

一部の機能だけをimportする方法

先程はパッケージ全体を読み込んでみました。今回はmodsampleのパッケージから、一部のmod1.pyだけを読み込んでみましょう。こちらのサンプルコードをご覧ください。

importの仕方が先程と違うことに気をつけてください。

実行結果

ここでは、modsampleというパッケージから、mod1というモジュールを選んでimportすることが出来ました。

新しく名前をつけてimportする方法

次はimportするときに名前を変えてimportしてみましょう

ここでは先程のimportに、「as」が追加されていることに注意しましょう。これで「mymod」という名前でmod1funcを実行することが出来ました。

実行結果

この形でのimportは、numpyなどのパッケージを使うときによく見られるので覚えておきましょう!なお、import asの使い方については、以下の記事でも解説しています!

【Python入門】import・asの使い方をわかりやすく解説
更新日 : 2018年6月30日

まとめ

この記事ではPythonのモジュールやパッケージの基本、importの仕方について解説しました。importの仕方は1つではないので、使いたい機能によって使い分けていきましょう。

モジュールが集まってパッケージと呼ばれたり、パッケージには__init__.pyが必要だったり、覚えることは多いかもしれません。もし忘れてしまったら、ぜひこの記事を読み返してみてください!

Pythonカリキュラム無料公開中!

この記事はPython入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Python学習に必要な情報を一つにまとめていますので効率よくPythonを学ぶことが出来ます。この機会に是非活用していただければと思います。

Python入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】
更新日 : 2019年4月4日

Pythonを最短で習得したい方へ

元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Pythonを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」

このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、AI(人工知能)や機械学習、IoTについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Pythonならではの学習方法や、現役Pythonエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta_bannar-ai2
LINEで送る
Pocket

書いた人

Kotono

Kotono

イタリア在住15年目の22歳です。イタリアの大学で情報科学&応用数学を学んでいます。主にJavaScriptやPythonについての記事を書いたりしています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説