【问题标题】:Presence autoload in Python 3.x?Python 3.x 中存在自动加载?
【发布时间】:2011-02-27 17:26:50
【问题描述】:

类似的功能:

function __autoload(UndefinedClass)
 {
  include 'library/'.UndefinedClass.'.php';
 }
?>

Python package = _init.py, BIOS=MBR, C++= STIL or templates, PHP5 = autoload, but python 3.x ?

【问题讨论】:

  • 那有什么作用?一切都在 Python 中自动加载。你能解释一下你真正想要做什么吗?当问一个问题时,请解释你在做什么,你期望它做什么,正在发生什么,以及你为什么要首先这样做。
  • @Lennart:我们中的任何一个人都必须被误导关于 PHP 的自动加载或 Python 的模块系统和import 机制。 Python 只导入你告诉它要导入的东西,当某些东西没有定义时,它不会尝试修复它而是抛出错误。
  • 是的,但这不是需要修复的问题,所以这不是他要求的,这就是我要求澄清的原因。可能是我们中的一个人误解了自动加载功能,可能是我,我认为这是为了当您需要引用尚未定义的类或模块时。一种避免循环的预定义。您的评论似乎表明,每当您收到 NameError 时,它都会在库中进行神奇的搜索。那将是可怕的。 :)
  • 当然,新手也没有跟进。太烦人了。

标签: python-3.x autoload bootstrapping


【解决方案1】:

不,没有这样的功能,因为你不需要它。如果您不想在需要时才导入模块,那么您只需在需要时导入它。如果你想避免循环导入,你也可以做同样的事情。

好了,现在这个问题有了答案。 :-)

【讨论】:

  • 但是不输入“import”语句(在每个文件中不同)的情况下自动导入其他模块是不可能的? ;-)
  • @Michal:我可能会。但无论如何,你不想那样做。只需导入它。
  • 我猜他想要类似于
猜你喜欢
  • 1970-01-01
  • 2015-01-09
  • 2015-06-24
  • 1970-01-01
  • 2017-06-06
  • 2012-08-07
  • 2014-03-05
  • 2015-07-21
  • 1970-01-01
相关资源
最近更新 更多