【发布时间】:2020-12-01 23:22:23
【问题描述】:
我在一个类中创建了一个内部类并创建了该类的两个实例,但是当为内部类属性分配不同的值时,它被分配给了两个实例。任何人都可以帮忙吗? 这是代码
class cl1:
def __init__(self,tagName):
self.name = tagName
name1 = 'tagName'
class cl2:
name2 = 'name2'
test1 = cl1('test1')
test2 = cl1('test2')
test1.cl2.name2 = "cl1"
test2.cl2.name2 = 'cl2'
print (test1.cl2.name2)
运行时,结果是
cl2
为什么分配的不是“cl1”?
【问题讨论】:
-
您没有创建
cl1.cl2的任何 个实例。您只是分配给类变量。你认为内部类像在 Java 中那样工作吗?他们没有。它们在 Python 中并不常用。
标签: python inner-classes