metaclass

    8

    2답변

    파이썬 프로젝트에서 로깅 목적으로 사용하고있는 메타 클래스를 작성했습니다. 모든 클래스가 모든 활동을 자동으로 기록하도록 만듭니다. 유일한 문제는 내가 모든 파일에 가서에 추가해야하지 않는다는 것입니다 : 그래서 최상위 폴더에있는 메타 클래스를 설정하는 방법이 있나요 __metaclass__ = myMeta 메타 클래스 사용 아래에있는 모든 파일 ?

    0

    2답변

    D에 classe 참조 시스템이 있습니까? 현재 내가 할 // ideally void AddNew(*TBaseClass APtr, /*?class_ref_type?*/ AClassType) { *APtr = new AClassType; } : 나는 (단지 Object처럼하지만 클래스 이름을 사용하지 않고) 공장을 위해 사용되는 델파이 TM

    5

    1답변

    다음은 일반화 된 자연 키 모델 관리자에 대한 나의 시도입니다. 그것은 the docs과 같지만 Meta.unique_together 속성에서 자연 키 필드 이름을 판별하려고 시도합니다 (실패한 경우). class NaturalKeyModelManager(Manager): def get_by_natural_key(self, *args):

    0

    1답변

    나는 format과 같은 메소드가 있는지 확인해야하는 객체 인 MyObject을 가지고 있습니다. 이 메소드 서명에 인수가 없는지 또는 인수가 MyType인지 여부를 확인해야합니다. 메소드가 응답하는지 검사 할 방법이 없습니다. 인수가 없습니다. 나는 시도 다음 if(MyObject.metaClass.respondsTo(MyObject.class, "for

    1

    2답변

    모듈의 각 함수에 대한 인수 유형을 확인하려고합니다 (inspect 모듈을 사용하지 않고). 내가 해낸 가장 쉬운 해결책은 각 기능을 개별적으로 검사하는 것입니다. def func1(num1, num2): # the two params must be integers if isinstance(num1, int) and isinstance(num2,

    0

    1답변

    클래스 Bot에서 상속 한 플러그인이 가져 오기시 자동으로 등록되는 간단한 동적 플러그인 시스템을 만들려고합니다. 아래 코드는 지금까지입니다. 나는 this 짧은 논문에서 일하고 있음을 유의하십시오. 위의 코드를 가져 오는 경우 import os.path as osp from glob import glob from imp import load_sourc

    2

    1답변

    from time import ctime import inspect class MetaC(type): def __init__(cls,name,bases,attrd): print isinstance(cls,MetaC) print inspect.isclass(cls) super(MetaC,cls).__init__(nam

    3

    2답변

    필자는 Python을 오랫동안 사용 해왔고, 나는 항상 메타 클래스의 의미를 다소 이해해 왔지만 필자는 절대로 필요하지 않았습니다. 이제는 내 문제에 대한 최상의 솔루션이 메타 클래스라고 생각합니다. 내가 만들고자하는 것은 클래스 변수 n과 목록 instances을 각 클래스에 자동으로 추가하는 시스템입니다. class Foo: n = 0

    0

    1답변

    나는 오늘 내 문제에 대한 해결책을 원했던 오늘 질문을했다. 메타 클래스 사용을 예상했지만 뭔가 다른 것을 얻었습니다. 그러나 이제는 이전 질문과 관련된 것에 관심이 있습니다. 왜 내 메타 클라스가 작동하지 않았습니까? 여기 내 앞의 질문에 대한 링크입니다,하지만 당신은이 질문에 대답하기 위해 그것을 읽을 필요가 없습니다 것 : How do I create

    5

    2답변

    스몰 토크에서 더 나은 반향을 이해하려고합니다. 최신 버전의 Squeak (v4.3)을 사용하고 있습니다. 내 수업 중 하나의 인스턴스로 전송 된 모든 메시지를 가로 채고 싶습니다. 나는 ProtoObject>>withArgs:executeMethod 메서드를 오버라이드 할 수 있다고 가정했으나 Stéphane Ducasse는 성능상의 이유로이 방법을 사용