Por que variável = objeto não funciona como variável = número
Essas atribuições de variáveis funcionam como eu esperava:
>>> a = 3
>>> b = a
>>> print(a, b)
(3, 3)
>>> b=4
>>> print(a, b)
(3, 4)
No entanto, essas atribuições se comportam de maneira diferente:
>>> 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)
Porque éc
é o mesmo qued
ao contrário de(a, b)
exemplo? Como posso fazer algo como em(a, b)
no(c, d)
exemplo de classes? Ou seja, copie o objeto e altere uma parte dele (que não afetará o objeto do qual eu emprestei propriedades)?