pythonを学習し始めたばかりで,プログラム頭に機能をimportとかfromで呼び出しているみたいだけど違いが分からないとゆう方へ,本記事ではこれらの違いを詳しく解説して行きます.モジュールやパッケージをインポートすることでpythonが標準で持っていない便利な機能を使うことができるようになります.
import A
Aのモジュールやパッケージなどを読み込みます.
pythonの数学の関数を備えたmathモジュールをインポートして,sqrt関数を使い$\sqrt{16}$の計算をしてみましょう.
[IN]1:
import math
print(math.sqrt(16))
[OUT]1:
4.0
import A as B
Aのモジュールなどを別名Bとして読み込みます.
Bは省略された形で表記することが多い.
例3.mathモジュールを別名testとして読み込んでみましょう.
[IN]2:
import math as test
print(test.sqrt(16))
[OUT2:
4.0
例4.別名にした場合に元のモジュル名で呼び出そうとするとエラーになるので注意が必要です.試しに元のモジュール名で呼び出してみましょう.
[IN]3:
import math as test
print(math.sqrt(16))
[OUT]3:
Traceback (most recent call last):
File "import.py", line 2, in
print(math.sqrt(16))
NameError: name 'math' is not defined
mathをインポートして別名testにしたのに,元のmathで呼び出そうとしたためエラーになりました.
from A import B
Aのモジュール中にあるBの関数やメソッドを読み込みます.
コードでAモジュールを呼び出さなくともBの関数やメソッドを直接呼び出すことができます.
例5.datetimeモジュールのdate関数を使って今日の日付を出力させてみます.まずは,fromを使わずにdatetimeをインポートしてdate関数を呼び出してみましょう.
[IN]4:
import datetime
print(datetime.date.today())
[OUT]4:
2021-01-11
例6.fromを使ってdatetimeモジュールからdate関数を直接呼び出してみましょう.
[IN]5:
from datetime import date
print(date.today())
[OUT]5:
2021-01-11
date関数を直接呼び出せるようになりました.頻繁に使う関数はfromでインポートすると便利です.
スポンサーリンク
コメント