所以我有这个问题,我想以这种方式获取python类的名称:
class TestClass():
myName = (get class name here automatically)
saveDirectory = os.path.join(saveDir, myName) # so i can save it in unique location
def __init__(self):
pass # do something
但是,它似乎__class__.__name__
在创建时实际上并不存在myName
。所以我被迫将它放入__init__()
函数中,如下所示:
class TestClass():
def __init__(self):
self.myName = self.__class__.__name__
saveDirectory = os.path.join(saveDir, self.myName) # so i can save it in unique location
pass # do something
但这有一个很大的问题,因为我在实例化类之前无法获取类的名称,我打算为要保存在saveDirectory中的类的每个实例创建几千兆字节的数据,因此可以重新以后用。所以我实际上不想继续我目前的解决方案。
有没有按照我的意图获得类名?还是我只是在做梦?
编辑:
谢谢你们的好建议。我将花一点时间来看看元类。否则,我可能会在全局范围内创建一个字典,并引用这些实例化的类。