[解決済み] import module」または「from module import」を使用しますか?
2022-03-18 20:20:51
質問
を使うのがベストかどうか、包括的なガイドを見つけようとしました。
import module
または
from module import
. 私はPythonを始めたばかりなので、まずはベストプラクティスを意識して始めようと思っています。
基本的に、私は誰かが彼らの経験を共有することができれば、他の開発者がどのような好みを持つか、そしてどんなことを避けるための最良の方法であるかを期待していました。 問題点 この先もずっと?
どのように解決するのですか?
との違いは
import module
と
from module import foo
は主に主観的なものです。 あなたが一番好きなものを選び、その使い方に一貫性を持たせてください。 以下は、それを決めるためのいくつかのポイントです。
import module
-
長所
-
のメンテナンスが少なくて済みます。
import
ステートメントを使用します。モジュールから別のアイテムの使用を開始するために、追加のインポートを追加する必要はありません。
-
のメンテナンスが少なくて済みます。
-
短所
-
タイピング
module.foo
を使用することで最小限に抑えることができます。import module as mo
と入力しmo.foo
)
-
タイピング
from module import foo
-
長所
-
少ない入力で使用可能
foo
- モジュールのどの項目にアクセスできるかをより細かく制御可能
-
少ない入力で使用可能
-
短所
-
モジュールから新しいアイテムを使用するためには、あなたの
import
ステートメント -
に関するコンテキストを失います。
foo
. 例えばceil()
と比較してmath.ceil()
-
モジュールから新しいアイテムを使用するためには、あなたの
どちらの方法でも構いませんが
ドンマイ
使用
from module import *
.
合理的な大きさのコードであれば、もし
import *
を削除できないように、モジュールに固着させている可能性が高いです。 これは、コードの中で使われているどの項目が「モジュール」から来ているのかを判断するのが難しいため、「自分は使っていない」と思い込んでしまいがちだからです。
import
しかし、それを確認するのは非常に困難です。
関連
-
python string splicing.join()とsplitting.split()の説明
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] フルパスでモジュールをインポートするには?
-
[解決済み] 他のPythonファイルをインポートするには?
-
[解決済み] Pythonモジュールをアンロード(再ロード)するにはどうしたらいいですか?
-
[解決済み] 同じディレクトリやサブディレクトリ内のクラスをインポートする方法は?
-
[解決済み] 相対パスからモジュールをインポートする
-
[解決済み] モジュール名を文字列で指定してインポートするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Python入門 openを使ったファイルの読み書きの方法
-
Python 入出力と高次代入の基礎知識
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] `from ... import` vs `import .` [重複].