python 2.7 -全局变量的使用



我正在编写一个模块来压缩一些pygame相机的东西,而我正在运行测试,我似乎误解了全局变量是如何工作的。

def init(x,y):
    import pygame
    import pygame.camera
    from pygame.locals import *
    pygame.init()
    pygame.camera.init()
    camlist = pygame.camera.list_cameras()
    global cam
    if camlist:
        cam = pygame.camera.Camera(camlist[0],(640,480))
    cam.start()

我想在这个模块之外使用变量'cam',但它说它是未定义的。是否有办法在模块中定义它,以便它可以在正常的python提示符中使用?此外,我不认为pygame实际上在模块之外初始化,有一种方法吗?我理解它与全局变量有关)?

如果您要导入模块,那么您应该在与其他python脚本相同的文件夹中有一个__init__.py文件。然后,您可以将pygame初始化脚本放入.py文件中。就躺在外面,什么也没做。然后,当您导入模块时,它应该可以工作:

module
    __init__.py
    calculate.py
    video_display.py

因此,当您执行import module时,__init__.py文件被直接调用并初始化pygame模块(如果这是您放入那里的脚本)。然后,如果您的其他文件,如calculate.pyvideo_display.py使用pygame,它将很容易工作,如果您调用它们的方法,如module.calculate.some_method()

希望有帮助。快乐Pygaming

相关内容

  • 没有找到相关文章

最新更新