2017-05-02 22 views
1
. 
├── bank 
│   ├── __init__.py 
│   ├── currency.py 
│   └── user.py 
└── script.py 

これが私のフォルダ構造であるとします。from package import module VS import package.module as moduleName

from bank import user 

script.pyの内部

import bank.user as user 

の間に違いはありますか?

私が知る限り、両方ともuserとして利用可能なuserモジュールをグローバル名前空間にインポートします。違いはありますか?

+1

いいえ違いはありません - 異なるスタイルのインポートに関する詳細な説明は、この記事をご覧ください:https://softwareengineering.stackexchange.com/questions/187403/import-module-vs-from-module -import-function – TLOwater

+1

@ TLOwaterありがとう、選択された答えは間違いなく良い読書でした。 –

+0

意味的に違いはありませんが、私はいつも誰かが 'import ... as'を使う理由と、モジュールの名前を変更してモジュールの名前をやり直すことを_not_使っていないのだろうと思っています。重複しているようだ。 – BlackJack

答えて

0

これには違いはありません。なぜなら、Pythonがこれを許可するのはなぜそれが悪い設計なのかと思います。もう一つの矛盾は、モジュールとパッケージでは両方の方法が許可されますが、識別子では1つしか許されないということです。例えば

from bank.user import user_func

は大丈夫ですが、

import bank.user.user_func as user_func

はuser_funcモジュールではないとbank.userはパッケージではありませんというエラーを与えます。

関連する問題