为什么 fastbook (fast.ai) 使用星型导入?

问题描述

通常在 Python 中,建议永远不要进行“星型导入”(例如 from my_module import *)。

理由是它使阅读变得困难,执行 linting,更糟糕的是可能导致名称冲突(更多关于此 here)。

但是,通过使用 fastbook 的 fast.ai 的所有文档和培训都使用以下几行:

import fastbook
fastbook.setup_book()

from fastbook import *

我们为什么要用 import * 代替 fastbook

改用 import fastbook as fb 的可行性如何?

谢谢

解决方法

他们可能只是在您遵循的任何示例中执行此操作,因为很容易将示例中的所有内容放入命名空间以使其更紧凑

不相关的 Sympy docs 也因此显示通配符导入

直接导入或命名都没有问题,您可能应该对任何共享代码执行此操作。

他们的 example notebooks 中的一个按照您的预期进行导入

import fastbook