<p>所以我遇到了这个问题,我想用这种方式获取一个python类的名称:</p>
<pre><code>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
</code></pre>
<p>然而,似乎<code>__class__.__name__</code>在创建<code>myName</code>时实际上还不存在。所以我不得不把它放到<code>__init__()</code>函数中,如下所示:</p>
<pre><code>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
</code></pre>
<p>但这有一个大问题,因为在实例化类之前,我无法获取类的名称,所以我需要为要保存在saveDirectory中的类的每个实例创建一些千兆字节的数据,以便以后可以重用。所以我不想继续我目前的解决方案。</p>
<p>有没有我想要的类名?还是我只是在做梦?</p>
<p>编辑:</p>
<p>谢谢你们的建议。我将花一点时间来看看元类。否则,我可能会全局创建一个字典,并引用这些实例化的类。</p>