0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【疑問解決】Python __init__.pyってなに?

Last updated at Posted at 2019-08-27

tl;dr

Pythonのソースコードのディレクトリの下に__init__.pyというファイルがあります。
このファイルの役割をまとめます。

用意するもの・環境

  • macOS Mojave 10.14.6
  • Python 3.7(ANACONDA3)
  • PyCharm 2019.2

開発環境の構築は下記の記事を参考にしてください。

【これさえ読めばOK】MacでPythonを使って開発するための準備
https://qiita.com/ryoichiro001/items/35a232a430c41dd512fa

ディレクトリ(フォルダ)をパッケージとして利用できる

このようなディレクトリ構成があったとします。


.
├── README.md
├── inputs_files
│   └── urls.txt
├── main.py
├── outputs_files
│   └── out_csv.txt
└── scripts
    ├── __init__.py
    └── file_utils.py

そうすると下記のようにして利用できます。


from scripts import file_utils

この場合、__init__.pyの中身は空(0KB)で構いません。

インポートした際に実行されるプログラムを実行

外部のプログラムからimportされた際に実行されるプログラムを書いておくことができます。
必ず動かす初期処理を記述しておくと便利です。

Python3.3以降では __init__.py がなくてもフォルダをパッケージとして認識してくれる

ここまで書いておいてアレですが、Python3.3以降では、__init__.pyファイルがなくてもパッケージとして利用できます。

Python公式ドキュメント
https://docs.python.org/ja/dev/whatsnew/3.3.html#pep-420-implicit-namespace-packages

こちらの情報、間違いです。
詳しくは下記を参照ください。
https://qiita.com/methane/items/ed1e5b74747f3ffe9324

参考URL

Python __init__.py の機能について
https://www.kangetsu121.work/entry/2018/09/16/004008

0
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?