我知道这可能是重复但是如果我能在这里找到答案就打败我。我希望能够拥有一个可以包含不同值的类的不同实例。我已经尝试了深度和浅层副本,我已经尝试过复制类,类的实例,你可以命名。
>>> class classy:
... a = 1
... b = 2
...
>>> import copy
>>> x = copy.deepcopy(classy)
>>> y = copy.deepcopy(classy)
>>> x.a = 100
>>> y.a
100
所以基本上我希望y.a返回1而不是100.
谢谢
答案 0 :(得分:5)
使用instance variables
。这就是他们的目标。
class classy:
def __init__(self):
self.a = 1
self.b = 2
x = classy()
y = classy()
x.a = 100
>>> print y.a
1
答案 1 :(得分:1)
Jayanth已经证明了这样做的方法。我只是想指出代码的关键问题。
您的问题标题询问实例,但您的代码没有实例。你只有一堂课。如果你想要一个类的实例,你需要创建实例,这是通过调用类完成的:
>>> class classy:
... a = 1
... b = 2
>>> x = classy()
>>> y = classy()
>>> x.a = 100
>>> y.a
1
请注意,Jayanth也在他的回答中这样做。即使没有使用Jayanth的答案中所示的实例属性,上述代码的工作原因也有些复杂,但基本点至关重要:实例和类是两个不同的东西。您可以通过调用类来创建类的实例。您应该阅读the Python tutorial以熟悉Python中的类和实例。