Почему переменная = объект не работает как переменная = число
Эти назначения переменных работают как я ожидаю:
>>> a = 3
>>> b = a
>>> print(a, b)
(3, 3)
>>> b=4
>>> print(a, b)
(3, 4)
Однако эти назначения ведут себя по-разному:
>>> class number():
... def __init__(self, name, number):
... self.name = name
... self.number = number
...
>>> c = number("one", 1)
>>> d = c
>>> print(c.number, d.number)
(1, 1)
>>> d.number = 2
>>> print(c.number, d.number)
(2, 2)
Почемуc
такой же какd
в отличие от(a, b)
пример? Как я могу сделать что-то вроде в(a, b)
в(c, d)
пример занятий? То есть скопировать объект, а затем изменить одну его часть (это не повлияет на объект, у которого я заимствовал свойства)?