擅长:python、mysql、java
<p>如果只需要类属性,可以创建一个类工厂,使用<a href="https://docs.python.org/3/library/functions.html#type" rel="nofollow">^{<cd1>}</a>创建新类,如:</p>
<pre><code>FIELDS = dict(
new=dict(FIELD_1="field1", FIELD_2="field2"),
old=dict(FIELD_1="field_1", FIELD_2="field_2"),
}
def sample_sheet_field_factory(field_spec='new'):
return type("SampleSheetFields", (object,), FIELDS[field_spec])
</code></pre>
<p>这可以很容易地扩展到更多的字段规范集,并且不需要条件导入:</p>
^{pr2}$
<p>您还可以使用<a href="https://docs.python.org/3/library/collections.html#collections.namedtuple" rel="nofollow">^{<cd2>}</a>,而不是一个类,这样会更轻量级一些。注意编辑是否符合<a href="https://www.python.org/dev/peps/pep-0008/" rel="nofollow">the style guide</a>。在</p>