擅长:python、mysql、java
<p>尽管@phillip martin的回答是最具恶作剧意味的,但还有一种方法可以完成这项任务:</p>
<pre><code>from werkzeug import LocalProxy
class MyYin:
__yang__ = LocalProxy(lambda: MyYang)
foo = 42
class MyYang:
__yin__ = LocalProxy(lambda: MyYin)
bar = 9002
print(MyYin.__yang__.bar)
print(MyYang.__yin__.foo)
</code></pre>
<p>而<code>LocalProxy</code>技巧背后的魔力来自于覆盖所有<code>__getattr__</code>、<code>__setattr__</code>、<code>__etc__</code>方法。在<a href="https://github.com/pallets/werkzeug/blob/f7374b6bbadefc073def6a2fed85c33784ff1abc/src/werkzeug/local.py#L253-L420" rel="nofollow noreferrer">werkzeug</a>回购中查看。你知道吗</p>