Python 3 假设模块命名空间

标签 python import module namespaces

关于 python 命名空间的快速问题。我是Python新手,所以这可能是一个新手问题,并且有一个简单的答案,但我已经搜索过,似乎找不到它。

我的问题只是想知道是否有一种方法可以声明命名空间,这样您就不需要每次访问其中声明的类时都说出模块名称。 例如:

>>> import fractions
>>> myFrac = fractions.Fraction("3/4")
>>> str(myFrac)
'3/4'
>>> myFrac = Fraction("3/4")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Fraction' is not defined
>>> 

我想知道是否有办法避免输入模块名称。我也感兴趣的是这样做是否是用 python 编写代码的惯例。

最佳答案

您可以使用from <module> import <class>缩短您的工作

from fractions import Fraction

编辑: 由于这个问题是关于命名空间的,因此您还可以提供更漂亮的名称

from animals import Dog as Scooby

然后使用模块名称 Scooby。尽管这使得以后很难跟踪模块的使用情况。

关于Python 3 假设模块命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320327/

相关文章:

python - 列出作为 python 包一部分的所有模块?

module - 如何从 `src` 目录之外的目录导入模块?

python - python中有md5解密函数吗?

python - 网页抓取(足球赔率)

python - 使用 python 和 pandas 将 CSV 文件中的三列合并为一列

python - 隐藏 stdlib 包名称的子包中的绝对导入失败

python - 在Python中,只要任何非守护进程子进程正在运行,父进程就会继续存在

python - Python 用于导入模块的顺序是什么?

python - '导入错误: No module named pillow' in PyCharm

mobile - Joomla 3 隐藏模块仅适用于移动设备