作为序言,这是一个假设,只是一个问题,突然出现在我的脑海中,而我是原型一些代码。动态创建类的适用范围很窄。你知道吗
在Python中,我可以动态地定义一个类,例如,将其定义嵌套在def[1]中:
def NewClass(doc):
class MyClass(object):
__doc__ = doc
return MyClass
当类的实例变得不可用时会发生什么?它的refcount是否变为零,是否像其他对象一样被销毁?或者是因为它是一个类而被特别处理了一点?在阅读语言文档时,我没有看到太多关于类对象破坏的内容。你知道吗
更具体地说,如果我让代码响应用户请求来创建这些类,例如,在一个进程的生命周期中有成千上万个或数百万个被创建的类,那么我是否需要担心由于所有创建的类而耗尽内存?你知道吗
[1]例如type
“函数”,可能还有各种元类事物或__new__
技巧。你知道吗
是的,类也是对象,并且受相同的引用计数规则控制。你知道吗
如果对返回值所做的只是创建实例,那么对类的唯一引用就是这些实例上的
__class__
属性。如果没有该特定类的更多实例,它将不再被引用和删除。你知道吗相关问题 更多 >
编程相关推荐