기본에 변수를 사용해야하므로 유형이있는 클래스를 작성합니다. __init__
메서드를 제공하지 않으면 정상적으로 작동하지만 하나를 제공하면 해당베이스의 __init__
을 호출 할 수 없습니다.type()으로 작성된 클래스에서 기본 __init__을 호출 할 수 없습니다.
작품 :
def constructor():
global api
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), dict(__init__ = mc__init)
obj = mc(**args)
return obj
def mc_init(*args, **kwargs):
global api
do_some_stuff
api.aclass.__init__(*args, **kwargs)
x = constructor()
:
이def constructor():
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), {})
obj = mv(**args)
return obj
이 작동하지 않습니다는 "SystemError: super(): __class__ cell not found
"가 작동하지 않습니다
def constructor():
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), dict(__init__ = mc__init)
obj = mc(**args)
return obj
def mc_init(*args, **kwargs):
do_some_stuff
super().__init__(*args, **kwargs)
가, 나중에 객체 생성에서 "
Base mc.__init__ not called.
"를 반환 반환
초기화은 어떻게 호출 할 수 있습니까? 기본 클래스?
감사합니다.
"Accepted"(녹색 확인 표시)로 만족하는 답을 표시 할 것을 강력히 제안합니다. 당신은 7 가지 질문을했고 그 중 어느 것도 받아 들여지지 않았습니다. 이것은 드문 경우입니다. 그들이 문제를 해결하기를 희망한다면, 사람들은 대답하도록 동기를 부여 할 것입니다. – EOL