擅长:python、mysql、java
<p>这一点也不简单。{<cd1>}是一个使用<em>Python元类</em>的<em>Python类</em>。可以在C中创建它,但它只是模拟C中构造Python代码的过程,最终结果是一样的,虽然它稍微加快了速度,但您很可能在每次程序运行中只运行一次代码</p>
<p>无论如何,这是可能的,但一点也不容易。我将演示如何在Python中执行此操作:</p>
<pre class="lang-py prettyprint-override"><code>from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color)
print(Color.RED)
</code></pre>
<p>同:</p>
<pre class="lang-py prettyprint-override"><code>from enum import Enum
name = 'Color'
bases = (Enum,)
enum_meta = type(Enum)
namespace = enum_meta.__prepare__(name, bases)
namespace['RED'] = 1
namespace['GREEN'] = 2
namespace['BLUE'] = 3
Color = enum_meta(name, bases, namespace)
print(Color)
print(Color.RED)
</code></pre>
<p>后者是需要翻译成C的代码</p>