今日は Python をいじって、独自のモジュールを作成しようとしています。私は Python の名前空間を完全には理解していないようです。誰かが私の質問に答えてくれるのではないかと思います。
これが私がやったことの例です:
次の構造を持つ mytest という名前のモジュールを作成しました。
mytest/
....setup.py
....bin/
....docs/
....mytest/
........__init__.py
........test.py
....tests/
test.py には、次の 1 つのメソッドが含まれています。
def say_hello():
print "Hello"
distutils 経由で mytest をインストールしました。「pip list」を使用すると、モジュールがインストールされていることがわかります。
今のところ大丈夫ですが、これから使いたいと思います。テスト スクリプト moduletest.py を作成しました。
from mytest import test
test.say_hello()
これを実行すると正常に動作し、「Hello」メッセージが出力されます。私はこれに満足し、モジュールをインポートする他の方法をいじり始めました。
以下はすべて正常に動作するようです:
from mytest.test import say_hello
say_hello()
と:
import mytest.test as test
test.say_hello()
ただし、次の場合は機能しません。
import mytest
test.say_hello()
と:
import mytest
mytest.test.say_hello()
と:
import mytest.test
test.say_hello()
mytest モジュール全体をインポートしてから必要な部分を使用できない理由、または mytest.test (インポートmytest.test)?
私の理解は少しずれていると思いますが、いくつかの説明が本当に役に立ちます。ありがとう!