__all__
パッケージの __init__.py に __all__ = ["echo", "surround"] と書いたときの効果として、最も適切なものを1つ選べ。
- A
パッケージの中のすべてのモジュールが削除される。
- B
import パッケージ名としただけで、すべてのサブモジュールが必ず読み込まれる。 - C
echoとsurroundは import できなくなる。 - D
from パッケージ名 import *としたときに、echoとsurroundのサブモジュールが読み込まれる。
正解と解説を見る
正解:D
__all__ は、from パッケージ import * で読み込む名前の一覧を指定する。
| 項目 | 内容 |
|---|---|
| __all__ | import * で公開する名前のリスト |
| __init__.py | ディレクトリをパッケージとして扱うためのファイル(なくても名前空間パッケージとして動く) |
- A
誤り。そのような働きはない。
- B
誤り。
__all__が影響するのはfrom パッケージ名 import *の動き。 - C
誤り。逆に、読み込む対象として指定している。
- D
正しい。
__all__は、import *で読み込む名前の一覧を指定する。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。