擅长:python、mysql、java
<p>您可以稍后将其推送到:</p>
<pre><code>class class1(object):
def __init__(self, friend=None):
if friend is None:
friend = class2
self.friendInstance = friend()
</code></pre>
<p><strong>编辑:</strong>实际上,不要这样做。它将创建一个class2实例,该实例创建一个创建一个class2实例的class1实例,等等。也许您真的希望传入一个实例,而不是要实例化的类:</p>
^{pr2}$
<p>第二类也一样。这不是很灵活,但很简单。如果你真的想要灵活性,你可以这样做:</p>
<pre><code>class class1(object):
def __init__(self, friend=None, friendClass=None):
if friend is None:
self.friendInstance = (class2 if friendClass is None else friendClass)(self)
else:
self.friendInstance = friend
class class2(object):
def __init__(self, friend=None, friendClass=class1):
if friend is None:
self.friendInstance = friendClass(self)
else:
self.friendInstance = friend
</code></pre>
<p>这可以通过继承或元类来简化,但您可能会明白这一点。在</p>