кароче тема такая
import copy
class Command(object):
name = ""
cmd = Command
cmd2 = copy.deepcopy(Command)
assert cmd == cmd2
копирование действительно ничего не дает, потому что как написано
здесь copy и deepcopy занимаются копированием объектов
в нашем случае экземпляров действительно нет
что вы хотите сделать - это создать класс с похожим поведением но немного отличный
есть вариант унаследоваться и переопределить нужные части
либо можно собрать класс вручную переиспользовав кишки от оригинального класса
class Command(object):
name = ""
cmd = Command
cmd3 = type('NewCommand', Command.__bases__, dict(Command.__dict__))
assert cmd == cmd3 # AssertionError