Python では、別のファイルから関数をインポートすることは非常に一般的です。
では、これら2つの状況の違いは何ですか。
import src.myfile
これらはfrom src.myfile import *
さまざまな目的で使用され、モジュールの関数と変数のインポート方法にさまざまな影響を与えます。
このステートメントは、コード内の関数や変数に直接アクセスすることなく、import src.myfile
モジュール全体をインポートします。src/myfile.py
代わりに、使用したい関数または変数の前にモジュール名を付ける必要があります。たとえば、という名前のsrc/myfile.py
関数を含める場合、次のように呼び出すことができます。myfunc
import src.myfile
result = src.myfile.myfunc(arg1, arg2, ...)
一方、このfrom src.myfile import *
ステートメントは、モジュールで定義されているすべての関数と変数をsrc/myfile.py
現在の名前空間にインポートします。これは、モジュール名を前に付けなくても、コードで直接使用できることを意味します。たとえば、という名前のsrc/myfile.py
関数を含める場合、次のように呼び出すことができます。myfunc
from src.myfile import *
result = myfunc(arg1, arg2, ...)
ただし、import *
名前の競合が発生し、コードが読みにくく理解しにくくなるため、 direct を使用することは一般的に推奨されません。通常は、構文を使用してモジュール名の前に使用する関数または変数を付けるか、構文を使用して必要な特定の関数または変数のみをインポートすることをimport module_name
お勧めします。from module_name import function_name, variable_name
英語を読む
AI良書レコメンド
AIは日々変化していますが、高層ビルは良い土台から切り離すことはできません。人工知能の原理と実践について学ぶことに興味がありますか? これ以上探さない!AI の原則と実践に関する私たちの本は、AI の世界への洞察を得ようとしている人にとって最適なリソースです。この分野の主要な専門家によって書かれたこの包括的なガイドは、機械学習の基本からインテリジェント システムを構築するための高度な手法まで、すべてをカバーしています。初心者でも経験豊富な AI 実践者でも、この本でカバーできます。では、なぜ待つのですか?
人工知能の原理と実践は、人工知能とデータ科学のさまざまな重要なシステムの古典を包括的にカバーしています
北京大学出版局、人工知能の原則と実践 人工知能とデータ科学の入門から習熟まで 機械学習の深層学習アルゴリズムの原理の詳細な説明