pygame 和 pygame.SOMETHING 之间的区别
difference between pygame and pygame.SOMETHING
最近,我一直在摆弄pygame。我注意到即使我导入了 pygame,我仍然可以导入 pygame.local 和 pygame.sprite(from... import... 以减少我以后需要输入的单词) . pygame和pygame.SOMETHING有什么关系?我以为它只是一个 pygame 模块,现在我有点困惑了。请给我一个解释或指导我阅读一些文章。
如有任何帮助,我们将不胜感激!
将 pygame 视为一个关于如何在 python 中制作 GUI 的图书馆或档案馆。您可以从图书馆获得一本特定的书,例如关于如何制作精灵的书。它仍然是图书馆的一部分,无论你是坐在图书馆里看还是借阅后看,内容都是一样的。
您可以 from pygame import sprite
在您的代码中将 sprite()
用作 pygame.sprite()
的 shorthand,它的整体功能相同。
考虑一个文件名为 foo.py
.
的模块 foo
如果内容看起来像:
# foo.py
def bar():
return 'bar'
def baz():
return 'baz'
然后您可以通过几种方式访问函数 bar
和 baz
。
您可以将模块作为一个整体导入。
import foo
print(foo.bar())
或单独:
from foo import bar
print(bar())
您也可以同时执行这两项操作,因为名称 foo.bar
和 bar
不冲突。
在幕后,它只是将 globals
的 dict
中的 foo.bar
和 bar
映射到同一个函数。您可以使用 print(pygame.sprite is sprite)
.
进行测试
显然,像 pygame
这样的包中还有更多内容,但基本前提是 pygame
,而 pygame.sprite
只是 dict
中的一个名称。这就是它们可以共存的原因。
一个简单的例子是:
def bar():
return 'bar'
foo_dict = {'bar': bar}
globals_dict = {'foo.bar': foo_dict['bar'], 'bar': bar}
# import foo
# foo.bar()
globals_dict['foo.bar']()
# from foo import bar
# bar()
globals_dict['bar']()
如你所见,你指的是什么并不重要,它们都叫同一个东西。
最近,我一直在摆弄pygame。我注意到即使我导入了 pygame,我仍然可以导入 pygame.local 和 pygame.sprite(from... import... 以减少我以后需要输入的单词) . pygame和pygame.SOMETHING有什么关系?我以为它只是一个 pygame 模块,现在我有点困惑了。请给我一个解释或指导我阅读一些文章。 如有任何帮助,我们将不胜感激!
将 pygame 视为一个关于如何在 python 中制作 GUI 的图书馆或档案馆。您可以从图书馆获得一本特定的书,例如关于如何制作精灵的书。它仍然是图书馆的一部分,无论你是坐在图书馆里看还是借阅后看,内容都是一样的。
您可以 from pygame import sprite
在您的代码中将 sprite()
用作 pygame.sprite()
的 shorthand,它的整体功能相同。
考虑一个文件名为 foo.py
.
foo
如果内容看起来像:
# foo.py
def bar():
return 'bar'
def baz():
return 'baz'
然后您可以通过几种方式访问函数 bar
和 baz
。
您可以将模块作为一个整体导入。
import foo
print(foo.bar())
或单独:
from foo import bar
print(bar())
您也可以同时执行这两项操作,因为名称 foo.bar
和 bar
不冲突。
在幕后,它只是将 globals
的 dict
中的 foo.bar
和 bar
映射到同一个函数。您可以使用 print(pygame.sprite is sprite)
.
显然,像 pygame
这样的包中还有更多内容,但基本前提是 pygame
,而 pygame.sprite
只是 dict
中的一个名称。这就是它们可以共存的原因。
一个简单的例子是:
def bar():
return 'bar'
foo_dict = {'bar': bar}
globals_dict = {'foo.bar': foo_dict['bar'], 'bar': bar}
# import foo
# foo.bar()
globals_dict['foo.bar']()
# from foo import bar
# bar()
globals_dict['bar']()
如你所见,你指的是什么并不重要,它们都叫同一个东西。