擅长:python、mysql、java
<p>这取决于您想如何调用<code>output_func</code>。如果希望它是一个静态类方法,可以如下定义:</p>
<pre class="lang-py prettyprint-override"><code>@staticmethod
def output_func():
print("hello world")
from ModuleWithMainClass import MainClass
MainClass.output_func = output_func
# call like this
MainClass.output_func()
</code></pre>
<p>如果希望<code>output_func</code>像常规实例方法一样工作,并具有对对象的内部访问权限,则可以这样定义它:</p>
<pre class="lang-py prettyprint-override"><code>def output_func(self):
print(f"hello {self._name}")
from ModuleWithMainClass import MainClass
MainClass.output_func = output_func
# call like this
mc = MainClass()
mc.output_func()
</code></pre>
<p>跨多个文件拆分类定义是非常不符合pythonic的。我会重新考虑这是否是解决你问题的最好办法</p>