Pythonのfromでモジュールを読み込む方法【初心者向け】

初心者向けにPythonでfromを使う方法について解説しています。importとfromはどちらもモジュールを読み込む際に使用するものですが、細かい違いがいくつか存在します。ここではfromを使ったインポート方法について詳しく見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonのfromでモジュールを読み込む方法について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

fromでモジュールを読み込む方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

importとfromの違い

Pythonにおいて、例えば hoge モジュールの foo関数をインポートしたい場合には、

  1. import hoge
  2. from hoge import foo

という2つの書き方があります。

1の書き方では、hogeモジュールに定義されている、全てのクラスや関数を読み込みます。

一度インポートしてしまえば、指定のモジュールで定義されている関数やクラスを全て使えることが出来ますが、実行時には毎回 モジュール名.foo( ) とモジュール名を頭に付ける必要があります。

例えば、foo関数は次のように実行できます。

import hoge

hoge.foo() # foo 関数が実行される。

 

2の書き方では、hogeモジュールに定義されている、foo関数のみ読み込みます。

モジュール名を頭に付ける必要がなく、foo( ) で実行できます。

またインポートするモジュールを毎回指定するので、明示的に管理できる一方、対象モジュールの別の関数等を実行する場合には、importステートメントを毎回書き換える必要があります。

例えば、foo関数は次のように実行できます。

from hoge import foo
foo()

 

fromの書き方

今回はfromを用いてモジュールをインポートしてみましょう。

モジュールをインポートするには、まず実行するPythonファイルの頭に、以下のように記述します。

from モジュール名 import 関数/クラス等

 

例えば、hogeモジュールのfoo関数をインポートする場合には、

from hoge import foo

と記述し、その後にfoo( )関数を実行する処理を書くことになります。

from … import 文自体は必ずしもファイルの頭に書く必要はないですが、Pythonでは慣習的に頭に書くことになっています。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

実際にfromでモジュールを読み込んでみよう

それでは、標準モジュールの一つである、datetimeモジュールを使い、現在の時刻を表示させてみましょう。

# mathモジュールのceil関数を読み込み
from math import ceil

# ceil()関数を実行
print(ceil(1.5))

出力として、

2 # ceil() 関数は与えられた引数以上の最小の整数を返します。

が得られます。

 

監修してくれたメンター

川井健滉(かわいたけあき)

フリーランスエンジニア(の卵)。Pythonでの開発力を売りに、
種々システムの設計から実装まで行う。

過去には、某大手サイトの開発 / 機械学習モデルの汎用性検証 / CBの作成等、幅広く経験、
直近ではWebスクレイピングシステムやデータを活用した機械制御モデルの構築に従事。

元々はカフェのオーナー。しかしコーヒーは飲めない。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。