ブログ管理者のP.Hです!
今回はimportの使い方を説明したいと思います。規模が大きくなると、プロジェクトにフォルダを作成して、階層化してコードを整理しないと管理が難しくなります。フォルダ内のコードやファイルをimportして関数やクラスを使用する方法を記載します。
フォルダ内のファイルのimport
それではサンプルで動作を説明したいと思います。まず、フォルダ構成は下記とします。importA.pyのコードには、1つの関数と1つのクラスが書かれています。
- フォルダ構成
|── top.py |── testfolder | |── test.py
- test.pyのコード
def func(): print("print_func") class MyClass: def __init__(self): self.name = "MyClass" def get(self): return self.name def set(self, name): self.name = name
それではtop.pyからtest.pyの関数やクラスをimportして使えるようにします。いくつか書き方がありますので、場合に応じて使い分けてください。
from testfolder.test import func # from フォルダ名.pythonファイル名 import 関数名 from testfolder.test import MyClass # from フォルダ名.pythonファイル名 import クラス名 func() # インポートしたfunc関数が使える a = MyClass() # インポートしたMyClassクラスが使える print(a.get())
from testfolder import test # from フォルダ名 import pythonファイル名 test.func() # インポートしたtest.py内のfunc関数が使える a = test.MyClass() # インポートしたtest.py内のMyClassクラスが使える print(a.get())
from testfolder import test as re_test # asを使うとモジュールの名前を置き換えることができる test ⇒ re_test re_test.func() a = re_test.MyClass() print(a.get())
上記、3つは全て同じ結果になります。fromでパスを指定して、importでモジュールや関数/クラスをして読み込むという形になります。importの使い方についての説明でした。
pythonを勉強するに当たって読んでおくとためになる書籍を紹介しておきます。定番の独習、速習シリーズの著者:山田祥寛さんが書かれている本です。説明がとてもわかりやすいことと、VS CODEを紹介しているところがとてもいいです!pythonを勉強しようと思っている方はぜひ一度読んでみてください。
リンク