通常在Python中,建议不要做“星型导入”(例如from my_module import *)。
其基本原理是,它使人很难阅读、执行线缆,更糟糕的是可能导致名称冲突(更多关于这个这里)。
但是,通过使用fast.ai进行的所有fastbook文档和培训都使用了以下几行:
import fastbook
fastbook.setup_book()
from fastbook import *为什么我们要使用import *来实现fastbook
用import fastbook as fb代替它是可行的吗?
谢谢
发布于 2021-11-01 00:49:39
据fast.ai创始人杰里米·霍华德( Jeremy )说,如果你使用的是像jupyter笔记本这样的交互式工作环境,那么使用star是可以的。以下是杰里米在他的书“为没有PhD的Fastai和Py火炬AI应用程序的程序员深入学习”中说的话:
“许多Python程序员建议避免导入像这样的整个库(使用import *语法),因为在大型软件项目中,它可能会造成问题。然而,对于交互工作,例如在木星笔记本中,它的工作效果很好。support库是专为支持这种交互使用而设计的,它只会将必要的部分导入到您的环境中。”
https://stackoverflow.com/questions/67232721
复制相似问题