(cls)
| 570 | |
| 571 | def with_metaclass(mcls): |
| 572 | def decorator(cls): |
| 573 | body = vars(cls).copy() |
| 574 | # clean out class body |
| 575 | body.pop("__dict__", None) |
| 576 | body.pop("__weakref__", None) |
| 577 | return mcls(cls.__name__, cls.__bases__, body) |
| 578 | |
| 579 | return decorator |
| 580 |