デジタルトレンドナビ
システム開発

2024.04.08

Pythonの「from import」について!意味や違い・使用例を解説

Pythonの「from import」について!意味や違い・使用例を解説

Pythonとは、プログラミング言語の一つです。汎用性の高さと初心者でも理解しやすい難易度から、プログラミング学習者の間でも高い人気を誇っています。

そんなPythonを学んでいる方の多くが抱えている疑問が、importとfrom importの違いです。混同されがちな両者ですが、明確な違いが存在しています。


そこで、今回はPythonのimportに関する基礎知識、そしてfrom importとの違いについて解説しましょう。具体的なimportとfrom importの使い方も取り上げるため、Pythonの勉強をしている方、そしてこれから学ぶ予定の方はぜひ参考にしてください。

この記事でわかること

  • Pythonのimportに関する基礎知識
  • importとfrom importの相違点
  • importとfrom importの使い方

Pythonのimportについて

Pythonのimportについて

それでは、早速Pythonのimportについて説明しましょう。import以外の機能も紹介するので、ぜひまとめて覚えてください。

importとは

importとは、Pythonにおいてモジュールやパッケージ、ライブラリなどを利用する際に用いる構文のことです。

Pythonでは、文字列や数値を出力するprint()や、ファイルの読み込みや書き込みをするopen()といった基本的な関数は自由に利用できます。

しかし、sin()やcos()など、外部のモジュールやパッケージに中身が定義されている関数は、import構文を使用してモジュールやライブラリを取り込まなければ、プログラムの中で活用できません。

一度importで呼び出したモジュールやパッケージ、ライブラリは、以降自由に使用可能です。よくわからない場合は、Pythonの機能を拡張するための機能と考えておきましょう。

モジュールとは

モジュールとは、Pythonで利用できるクラスや関数をひとつのファイルにまとめたものの総称です。

Pythonのモジュールの実体は「.py」の拡張子を持つプログラムファイルで、ほかのプログラムからimportで呼び出すことで利用できるようになります。ひとつのモジュールに対して、意味的に関連性があるクラスや関数をまとめるのが一般的です。

モジュールにはPythonのインストール後、すぐに使用できる標準モジュールや、外部で配布されている外部モジュールなどがあります。モジュールを活用すれば、使用頻度の高いクラスや関数などをその都度記述しなくてよくなるほか、可読性の高いコードの作成も可能です。

パッケージとは

パッケージとは、複数のモジュールがディレクトリに集まったものの総称です。モジュールによって複数の関数やクラスをひとつにまとめられますが、あまりに多くの関数やクラスを詰め込むと、コードの可読性が下がってしまいます。

その場合は、ファイルを分割して複数のモジュールを作成し、ひとつのディレクトリに集約するのがおすすめです。この複数のモジュールを束ねたものがパッケージです。

パッケージもモジュールと同じく、ほかのファイルに取り込まれることを想定した機能のため、import構文を使って取り込めます。自分で複数のモジュールをパッケージ化したい場合は、同じディレクトリ内に「__init__.py」ファイルを作成してください。

ライブラリとは

ライブラリとは、使用頻度が高いPythonの関数、クラス、モジュールなどがまとめられたものの総称です。ライブラリにはさまざまな種類があり、数値計算に特化したライブラリもあれば、データの分析、および可視化に特化したライブラリもあります。

ライブラリを使用すれば、初心者でもスムーズにプログラムの開発を進めることが可能です。また、ほとんどのライブラリは公開までに適切なバグフィックスが実施されているため、高品質のプログラムの作成もできます。

もちろん、外部でリリースされているライブラリのなかにはバグが存在するものもあるため、過信は禁物です。バグのリスクを最小限に抑えたい場合は、ライブラリの更新が定期的に実施されているか、更新履歴を確認してください。

Pythonのimportとfrom importの違い

Pythonのimportとfrom importの違い

外部のモジュールやパッケージ、ライブラリを使用する際に用いる構文がimportですが、そんなimportとfrom importの違いをご存知でしょうか。

両者の明確な相違点として、呼び出せる機能の範囲が挙げられます。from importは関数や変数、クラスなど、あるモジュールの中にある特定のオブジェクトだけを使いたいときに使用する構文です。

簡単に表現すると、importはモジュールの全体を使用する際に利用するのに対し、from importはモジュールの一部を使用するときに利用します。

読み込んだモジュールの関数は、モジュール名をつけることなく使用できます。両者の違いとして、実行速度とメモリ使用の違いも挙げられますが、こちらは巨大なモジュールを扱う場合や、メモリが非常に制限されている場合以外では気にする必要はありません。

Pythonのimportとfrom importの使用例

Pythonのimportとfrom importの使用例

Pythonのimportとfrom importの違いについて解説しましたが、文字だけでは具体的な使い方のイメージができない方もいるでしょう。ここでは、実際のコードの例を用いて使い方を説明します。プログラミング初心者の方は、ぜひ参考にしてください。

importの使用例

Pythonで外部のモジュールやパッケージ、ライブラリなどをimportしたい場合は、取り込みたいファイルの名前を、拡張子を除いた状態でimportの後に入力してください。具体的なコード文の記述方法は、以下のとおりです。

import モジュール名

関数や変数、クラスなどモジュールのオブジェクトにアクセスする際は、以下のような書き方をします。

モジュール名.オブジェクト名

たとえば、数学的な計算をする際に用いる標準モジュールであるmathモジュールをimportする場合は、以下のように記述してください。

import math

print(math.pi)

こちらのコードではmathモジュールをimportして、mathモジュールの中にあるpiという変数を出力しています。

また、複数のモジュールをimportする場合は、次のようにひとつずつ記述することが推奨されています。

import モジュール1
import モジュール2

from importの使用例

続いて、from importの使い方をチェックしていきましょう。from importを活用すると、モジュールやパッケージ、ライブラリ内にある特定のオブジェクトのみ使用できるようになります。

具体的なコードの記述方法は、以下のとおりです。

from モジュール名 import オブジェクト名

もしmathモジュールの中からpiという変数だけをimportする場合は、以下のように記述してください。

from math import pi

print(pi)

ちなみに、次のような書き方をすると、モジュールからすべてのオブジェクトをimportできます。

from math import *

ただし、どの名前がプログラム内に存在しているのかわかりにくく、コードの読み手や多くのツールを混乱させる記述の仕方のため、あまり使用しないようにしてください。

こちらの記事では、threadingモジュールの基本と並行処理の注意点を解説します。ぜひあわせてご覧ください。

まとめ

まとめ

以上、Pythonのimportとfrom importの違いや、それぞれの使用例について取り上げてきました。混同されがちな両者ですが、importは外部のモジュールやパッケージ、ライブラリなどをまとめてimportしたい場合、from importは特定のオブジェクトだけを呼び出したい場合に使用します。

プログラミング初心者のなかには曖昧に使い分けている方も少なくありませんが、言語に対する理解を深めるためにも、ぜひ両者の違いを理解しましょう。言語に対する理解度は、その後の応用力にも関わります。

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。