【python】from...import ...

本文介绍Python中使用from-import语句将模块名字导入当前名称空间的方法,包括如何避免使用属性/句点属性标识来访问模块标识符,以及推荐的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用 from-import 可以把名字导入当前的名称空间里去, 这意味着你不需要使用属性/句点
属性标识来访问模块的标识符。 例如, 你需要访问模块 module 中的 var 名字是这样被导入的:
from module import var
我们使用单个的 var 就可以访问它自身。 把 var 导入到名称空间后就再没必要引用模块了。
当然, 你也可以把指定模块的所有名称导入到当前名称空间里:

from module import *


核心风格:
限制使用 "from module import *"
在实践中, 我们认为 "from module import *" 不是良好的编程风格, 因为它"污染"当前名称
空间, 而且很可能覆盖当前名称空间中现有的名字; 但如果某个模块有很多要经常访问的变量或者
模块的名字很长, 这也不失为一个方便的好办法。
我们只在两种场合下建议使用这样的方法, 一个场合是:目标模块中的属性非常多, 反复键入
模 块 名 很 不 方 便 , 例 如 Tkinter (Python/Tk) 和 NumPy (Numeric Python) 模 块 , 可 能 还 有
socket 模块。另一个场合是在交互解释器下, 因为这样可以减少输入次数。
Python中,`from ... import ...`语句用于从一个模块中导入指定的对象或函数。通过使用`from ... import ...`语句,我们可以直接在当前脚本中引用被导入的对象,而无需使用完全限定名称。这种方式可以简化代码,并提高代码的可读性。 在包的`__init__.py`文件中,如果将一个模块导入到该包中,那么在该包的其他模块中可以直接使用`from package import Module`语句导入该模块。这样,在当前脚本中就可以直接使用被导入的模块中的对象和函数。 所以,`from ... import ...`语句可以用来在Python中从一个包中导入指定的模块,以便在当前脚本中直接使用。 参考资料: https://www.iplaypy.com/jinjie/from-import.html 该文件的主要作用是初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示: package/ __init__.py file.py file2.py subpackage/ __init__.py submodule1.py submodule2.py <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pythonfromimport用法](https://blog.csdn.net/qq_30815237/article/details/93203934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值