обьясните почему всё так, а не иначе
привет All.
есть код:
class t(object):
def __init__(self):
print "im t init"
class A(object):
a1 = t()
def __init__(self):
print id(self.a1)
cl1 = A()
cl2 = A()
cl3 = A()
cl1.a1.a = 1
print cl3.a1.a
результат выполнения -
im t init
41473392
41473392
41473392
1
почему конструктор у a1 = t() вызывается всего 1 раз ? и как получается что при создании 3х экземпляров класса А, у них у всех одинаковый объект a1?
как сделать чтобы a1 все-таки был свой для каждого экземпляра без объявления оного через __init__?
есть код:
class t(object):
def __init__(self):
print "im t init"
class A(object):
a1 = t()
def __init__(self):
print id(self.a1)
cl1 = A()
cl2 = A()
cl3 = A()
cl1.a1.a = 1
print cl3.a1.a
результат выполнения -
im t init
41473392
41473392
41473392
1
почему конструктор у a1 = t() вызывается всего 1 раз ? и как получается что при создании 3х экземпляров класса А, у них у всех одинаковый объект a1?
как сделать чтобы a1 все-таки был свой для каждого экземпляра без объявления оного через __init__?
