擅长:python、mysql、java
<p>如果我想避免mixin,也许是为了最小化代码的不透明度,我会这样做:</p>
<pre><code>class ObjectI:
from alotoffunc import abc, efg
class ObjectII:
from alotoffunc import efg, klm
class ObjectXI:
from alotoffunc import abc, klm
</code></pre>
<p>无论何时创建类的实例,导入的方法都会自动绑定。换句话说,它们在默认情况下是实例方法。在</p>
<p>如果希望它们是静态方法,请按如下方式使用<a href="https://docs.python.org/2/library/functions.html#staticmethod" rel="nofollow">^{<cd1>}</a>:</p>
^{pr2}$
<p>另外,我也不会太担心这些多个import语句的性能问题,因为Python非常聪明,只运行一次导入的模块,然后将它保存在内存中,以备以后需要。在</p>
<p>如果您想要导入的函数有某种逻辑分组,那么您肯定应该使用mixin,或者将函数组织成单独的“mixin modules”,这样您甚至可以<code>from mixinmodule import *</code>。对于mixin类方法,我认为常规import语句比from import更好,除非您的函数名很长并且只想输入一次!在</p>