Как сделать чтоб объект потомок не ссылался на объект родитель?

У меня проблема в том что созданный объект внутри класса ссылается на объект который создал его. Как исправить ?

import copy as cp
class a():
      lis = []
        
      def create_a(self):
          obj = cp.copy(a())
          print(obj.lis is self.lis) # True
     
    
 b = a()
        
 b.create_a()
Однако если:

a = []

b = []

a is b # false

Ответы (1 шт):

Автор решения: Serg Bocharov

Разница между is и ==

Оператор is проверяет, чтобы оба операнда ссылались на один объект (т. е. проверяет, идентичны ли они друг другу). Оператор == сравнивает значения операндов и проверяет на идентичность. Так что is используется для эквивалентности ссылок, а == — для эквивалентности значений. Поясняющий пример:

>>> [] == []
True
>>> [] is [] # These are two empty lists at two different memory locations.
False
→ Ссылка