Ребята, я недавно запустил python и запутался с необязательными параметрами, скажем, у меня есть такая программа:
class B:
pass
class A:
def __init__(self, builds = B()):
self.builds = builds
Если я создаю A дважды
b = A()
c = A()
и распечатать свои сборки
print b.builds
print c.builds
Я обнаружил, что они используют точно такой же объект,
<__main__.B instance at 0x68ee0>
<__main__.B instance at 0x68ee0>
Но это не то, что я хочу, так как если b
изменило какое-то внутреннее состояние сборки, то в объекте c
также будет изменено.
Можно ли каждый раз воссоздавать эти необязательные параметры, используя этот необязательный синтаксис параметров?