cls = type("Test", (Base,), {"__metaclass__": Meta, "a": 1, ...})
메타 클래스,하지만이 작동하지 않는 것, 다른 방법이 있습니까?이 유형 클래스 만들 때 작동하지 __metaclass__ ("테스트", (기지), { '__metaclass __', 메타을 ...}) 내가 제 3 인수에 attrs에 대한 몇 가지 확인을 할
cls = type("Test", (Base,), {"__metaclass__": Meta, "a": 1, ...})
메타 클래스,하지만이 작동하지 않는 것, 다른 방법이 있습니까?이 유형 클래스 만들 때 작동하지 __metaclass__ ("테스트", (기지), { '__metaclass __', 메타을 ...}) 내가 제 3 인수에 attrs에 대한 몇 가지 확인을 할
Meta
-class는 type
의 하위 클래스입니다. 그래서 메타 클래스의 유형을 생성하는 메타 클래스 호출된다.
cls = Meta("Test", (Base,), {"a": 1, ...})
당신은 Meta
(일명 type.__class__.__new__(Meta, "Test", (Base,), {"__metaclass__": Meta, "a": 1})
를 호출하여 Test
클래스를 만들어야을
이 가능 __metaclass__
와 사전이있는 경우, 당신은 사용할 수 있습니다 다음 코드 :
members = {"__metaclass__": Meta, "a": 1, ...}
metaclass = members.pop('__metaclass__', type)
cls = metaclass("Test", (Base,), members)
MCVE https://stackoverflow.com/help/mcve를 제공해야합니다. – renemilk