【发布时间】:2022-01-24 03:27:53
【问题描述】:
我有一个管理摄像机和文件流的类。类的每个实例都是一个框架,其中包含一堆方法、属性等。我在函数外部进行所有初始化,所以它只发生一次,并设置了一些对类的所有实例都是全局的变量。这些全局变量包括我需要在主程序关闭时正确关闭的 Video 和 File 对象。
我是 Python 新手,主要是 Java/C/C++ 背景,我记得有与我可以调用的访问全局(静态)类变量的类相关联的函数。我可以在 Python 中做类似的事情吗?
这是我的类的伪代码:
class MyClass:
global_variable = 1
openFile = file.open()
def someMethod( self ):
do stuff
def cleanUpStuff():
self.openFile.release()
现在在我的主程序中,我需要调用 cleanUpStuff() 来正确关闭我的相机和文件。我正在创建数百个 MyClass 对象实例,我使用这些实例并在某些时候被垃圾收集销毁。所以我需要一种在类级别调用的方法。
while True:
a = MyClass()
a.someMethod()
if something:
break
MyClass.cleanUpStuff()
【问题讨论】:
-
看看classmethod装饰器。