在装有pygame1.9.3的Linux计算机上,我对pygamecamera初始化的实现感到困惑。下面的代码演示了令人惊讶的行为:在对Camera(pygame.camera.Camera
)的第一个调用中,Camera将被初始化,而第二个调用(Camera
)将引发一个NotImplementedError
。你知道吗
>>> from pygame.camera import Camera, init as camera_init
>>> import pygame.camera
>>>
>>> camera_init()
>>> camera = pygame.camera.Camera("/dev/video0")
>>> camera = Camera("/dev/video0")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/pygame/camera.py", line 102, in __init__
raise NotImplementedError()
NotImplementedError
它必须源于Camera
类被声明为全局变量,并被重新定义为指向camera.py
文件中的实际实现。第一个调用使用重新定义的变量,而第二个调用使用原始的Camera
类。你知道吗
我觉得这是一个令人惊讶的实现,可能需要一些时间来调试。这不能在工厂模式下实现吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐