コンテンツにスキップ

モジュール

はじめに

本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。


01. package、subpackage

▼ package、subpackage とは

ディレクトリに相当する。

▼ 基本的には __init__.py ファイルを配置すること

通常パッケージとして扱うディレクトリには。

__init__.py ファイルを配置する必要がある。

一方で、名前空間パッケージではこれが不要である。


02. module

▼ module とは

パッケージ内の各ファイルに相当する。


03. from import

▼ from import とは

パッケージとして定義したディレクトリからクラスや関数読み込む。

存在しないパッケージをインポートしようとすると、インポートエラーになってしまう。

from <パッケージ名>.<サブパッケージ名>.<モジュール名> import <クラス名、関数名>

▼ アスタリスクを使用しないこと

アスタリスクによるインポートは非推奨である。

▼ 絶対パスを使用すること

パッケージ名は絶対パスを指定する。

▼ 宣言場所について

1 個のファイルで 1 個のクラスや関数のみを宣言する場合は、import を実行する場所はクラスや関数の外でも中でもよい。

from foo import foo

def foo():
    foo = foo()

    return foo

ただし、複数を宣言する場合は、可読性の観点からクラスや関数のなかで import を実行する。

def foo():
    from foo import foo

    foo = foo()

    return foo

def bar():
    from bar import bar

    bar = bar()

    return bar

▼ 1 個ずつインポート

複数のパッケージをインポートする場合、カンマで繋ぐこともできるが、1 個ずつインポートしたほうがよい。

# import foo, bar
import foo
import bar

def foo():
    foo = foo()

    return foo