Skip to main content
 首页 » 编程设计

python之"import foo.bar"和 "import foo"之间的区别

2025年05月04日12lyhabc

当我这样做的时候我才发现

import pygame.joystick 

我不仅可以访问joystick,还可以访问display,例如我可以做

pygame.display.init() 

就像我只是简单地导入了 pygame 一样。

有什么区别?

请您参考如下方法:

发生的事情是导入 pygame.joystick 会触发额外的导入; pygame 包本身,或 pygame.joystick,或这两个模块导入的任何 pygame.* 模块,恰好导入 pygame.display 某处。

因此,您现在可以引用 pygame.display 的事实是实现细节的意外。您可能无法在未来的版本中(如果项目不再需要导入 pygame.display 来加载 pygame.joystick,例如)。

最好坚持在您自己的项目中显式导入。