【发布时间】:2011-06-06 14:40:27
【问题描述】:
我有一个“class1”,它必须能够创建一个对象 不同的类名。类名作为称为“朋友”的参数传递。 我希望“朋友”参数默认为一个名为“class2”的类名。
此外,我需要对“class2”类具有相同的行为。 所以“class2”应该有“class1”作为默认的朋友参数:
class class1():
def __init__(self, friend = class2):
self.friendInstance = friend()
class class2():
def __init__(self, friend = class1):
self.friendInstance = friend()
class1()
class2()
现在我收到以下错误消息:
def __init__(self, friend = class2):
NameError: name 'class2' is not defined
当然,我不能在 class1 之前定义 class2,因为 这将导致类似的错误:“class1”未定义。 你知道解决办法吗?
非常感谢您的帮助!
亨利
【问题讨论】:
-
如果可行,那将是一个无限递归。
标签: python class parameters arguments default-parameters