この記事では、Pythonファイルにモジュールやライブラリを読み込む方法を解説します。
Pythonファイルに任意のモジュールを読み込むことによって、そのモジュールに定義されている機能(関数やクラスなど)を読み込み先のPythonファイルから呼び出すことができます。
Pythonには予めかなりの数のライブラリが用意されています。これらの標準ライブラリを使うことで色々なプログラムを実装することができるので是非使っていきましょう。
外部リンクPython 標準ライブラリ — Pythonドキュメント
それでは、Pythonファイルにモジュールやライブラリを読み込む方法を見ていきましょう!
モジュールやライブラリを読み込む方法
モジュールやライブラリを読み込むにはimport
文を使います。import
文の後にモジュールやライブラリの名前を指定することで、そのモジュールやライブラリを読み込むことができます。
import ライブラリ名
Tips
モジュールなどを読み込むことを「インポートする」と言ったりする
以下のコードでは、標準ライブラリであるmath
をインポートし、print()
関数を使って出力しています。ちなみにmath
モジュールは、数学関数を扱うためのモジュールです。
import math
print(math)
# <module 'math' from '/Users/user/.pyenv/versions/3.11.3/lib/python3.11/lib-dynload/math.cpython-311-darwin.so'>
読み込んだモジュールに定義されている機能(関数やクラス、変数など)を呼び出すには、クラスから関数を呼び出すのと同じようにドット(.
)使ってアクセスします。
import math
# pi の呼び出し(円周率が代入されている変数)
math.pi
# factorial の呼び出し(階乗を返す関数)
math.factorial(5)
このように、import
文を使ってモジュールをインポートすることで色々なスクリプトから同じ機能(関数やクラスなど)を簡単に呼び出すことができます。
特定の機能のみを読み込む
モジュールの特定の機能のみを使いたい場合が多々ある。そんな時は、from ... import ...
でライブラリに定義されている特定のモジュールやクラス、関数のみをインポートできる。
from ライブラリ import 使用したい機能の名前
以下のコードは、math
モジュールの変数pi
と関数factorial
のみをインポートしています。この方法でインポートした場合はモジュール名をつけずに使用できます。
from math import pi, factorial
# pi の呼び出し(円周率が代入されている変数)
pi
# factorial の呼び出し(階乗を返す関数)
factorial(5)
# math はインポートしてないのでアクセスできない(NameErrorが発生)
math
ただし、この方法は異なるモジュールに同名の関数やクラスが存在すると、後からインポートしたものが先にインポートしたものを上書きしてしまう恐れがあるので注意が必要です。
別名をつける
インポートしたモジュールやクラスの名前がうんざりするほど長いことがある。そんな時にはas
を使うことでインポートしたモジュールやクラスに別名を付けることができます。
import モジュール as 別名
from ライブラリ import モジュールやクラス as 別名
以下のコードでは、datetime
モジュールにdt
という別名を付け、datetime.date
クラスにd
という別名を付けて、それぞれtoday()
という関数を呼び出しています。
import datetime as dt
from datetime import date as d
print(dt.date.today())
print(d.today())
長い名前は別名を付けて短くすると楽ちんです。また、pandas
やnumpy
のように慣習的の別名を付けて扱うライブラリもあるので注意してください。
import pandas as pd
import numpy as np
このように、インポートしたモジュールに別名をつけることが可能ですが、短いだけでなくみんながわかりやすい名前を付けることが大切です。
全てをインポートする
*(アスタリスク)
を指定することで指定したモジュールに定義されている_(アンダースコア)
以外から始まる名前のものを全てインポートできます。
from math import *
# mathモジュールに定義されている機能にモジュール名なしでアクセスできる
pi
factorial(5)
fabs(-2)
しかし、この書き方はあまり推奨されません。定義済みの名前(変数やクラスなど)を上書きしてしまう恐れがあり、思わぬバグを引き起こす可能性があるからです。
また、使用しない機能まで読み込んでしまうので無駄にメモリを消費してしまいます。
まとめ
この記事では、Pythonファイルにモジュールやライブラリをインポートする方法を解説しました。
Pythonには標準ライブラリ以外にもめちゃくちゃ使えるライブラリがそこら中にあるので、何かしらのプログラムを作成する際には、まずライブラリを探してみることをオススメします。
もちろん、自作したモジュールやライブラリをインポートすることもできます。
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ