質問編集履歴
1
誤字の修正、markdown表示の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
同じ
|
1
|
+
同じ名前空間の中でファイル分割したい
|
body
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
+- class Bar
|
19
19
|
```
|
20
20
|
|
21
|
-
しかし、Pythonではパッケージ(フォルダ)とモジュール(__init__以外のファイル)がそれぞれ名前空間の階層となるので、ファイル構成をそのまま適用すると以下のように余計な名前空間ができてしまいます。
|
21
|
+
しかし、Pythonではパッケージ(フォルダ)とモジュール(`__init__`以外のファイル)がそれぞれ名前空間の階層となるので、ファイル構成をそのまま適用すると以下のように余計な名前空間ができてしまいます。
|
22
22
|
|
23
23
|
```
|
24
24
|
namespace hogepackage
|
@@ -29,9 +29,9 @@
|
|
29
29
|
+- class Bar
|
30
30
|
```
|
31
31
|
|
32
|
-
一般には__init__.pyの中でクラスをインポートすることで、利用側ではあたかもパッケージ直下にクラスがあるかのように見せかけることができますが、Pythonの型システム上では依然としてモジュール層が残っています。
|
32
|
+
一般には`__init__.py`の中でクラスをインポートすることで、利用側ではあたかもパッケージ直下にクラスがあるかのように見せかけることができますが、Pythonの型システム上では依然としてモジュール層が残っています。
|
33
33
|
|
34
|
-
hogepackage/__init__.py:
|
34
|
+
`hogepackage/__init__.py`:
|
35
35
|
|
36
36
|
```Python
|
37
37
|
#!/usr/bin/env python3
|
@@ -51,7 +51,7 @@
|
|
51
51
|
|
52
52
|
一方、以下のようにすることで型システム上でも期待通りのクラス構成を実現できることが分かりました。
|
53
53
|
|
54
|
-
hogepackage/__init__.py:
|
54
|
+
`hogepackage/__init__.py`:
|
55
55
|
|
56
56
|
```python
|
57
57
|
#!/usr/bin/env python3
|