假設我有一類,稱之爲class1,
與3類變量var1,var2,var3,
和__init__
方法,其中分配中傳遞給類變量:Python;類實例
class class1(object):
var1 = 0
var2 = 0
var3 = 0
def __init__(self,a,b,c):
class1.var1 = a
class1.var2 = b
class1.var3 = c
現在我也作出了同樣的兩個實例類:
obj1 = class1(1,2,3)
obj2 = class1(4,5,6)
現在,讓我們來看看變量值:
print (obj1.var1, obj1.var2,obj1.var3)
4 5 6
print (obj2.var1, obj2.var2,obj2.var3)
4 5 6
應該不是obj1
的值是1,2,3?爲什麼__init__
第二個實例的方法在第一個實例中改變了vaues(obj1
)?以及如何製作兩個獨立的課程單獨實例?
您專門* *使這些類,而不是實例屬性。如果您需要實例屬性,請使用例如'self.var1 = a',並且移除'__init__'之外的賦值。 – jonrsharpe
在這裏看到http://stackoverflow.com/questions/68645/static-class-variables-in-python?rq=1 –