python一点通: “import file“ vs “from file import*“ 到底啥区别?

在 python 中,从另一个文件导入函数是很常见的。
那么这两种情况有什么区别呢。

import src.myfilefrom 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 * ,因为它会造成命名冲突并使您的代码更难阅读和理解。通常最好使用 import module_name 语法并将您使用的任何函数或变量作为模块名称的前缀,或者使用 from module_name import function_name, variable_name 语法仅导入您需要的特定函数或变量。

阅读英文

英文链接

AI好书推荐

AI日新月异,但是万丈高楼拔地起,离不开良好的基础。您是否有兴趣了解人工智能的原理和实践? 不要再观望! 我们关于 AI 原则和实践的书是任何想要深入了解 AI 世界的人的完美资源。 由该领域的领先专家撰写,这本综合指南涵盖了从机器学习的基础知识到构建智能系统的高级技术的所有内容。 无论您是初学者还是经验丰富的 AI 从业者,本书都能满足您的需求。 那为什么还要等呢?

人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典

北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理

猜你喜欢

转载自blog.csdn.net/robot_learner/article/details/130469702