擅长:python、mysql、java
<p>您可以将类本身(而不是它们的名称)存储为字典中的值。那你就可以</p>
<pre><code>chosen_class = SIP.supported_classes_dictionary[msg_type]
print 'Testing {}'.format(chosen_class.supported_sip_services[msg_type])
variable_arry = chosen_class.fields_desc[2:]
</code></pre>
<p>在最后两行中,我将您的<code>eval(class_name)</code>替换为<code>chosen_class</code>。这有两个原因:</p>
<ol>
<li>将第一行上的变量名从<code>class_name</code>更改为<code>chosen_class</code>(这只是一个装饰性的细节)</li>
<li>用类而不是字符串填充<code>SIP.supported_classes_dictionary</code>。由于您还没有在代码示例中演示如何做到这一点,因此我无法向您展示必须进行的确切更改,但可能是将<code>d[some_message_type] = 'SomeClass'</code>更改为<code>d[some_message_type] = SomeClass</code>,即在将类名插入字典时,删除类名周围的引号。你知道吗</li>
</ol>