나는 메타 클래스를 만들려고하고 있는데, 나는 정말로 그것을 얻고 있다고 생각하고 있었다. 그리고이 메타 클래스의 각 인스턴스에 대해 클래스 메서드를 갖고 싶습니다.서로 호출하는 메타 클래스 메서드의 모범 사례는 무엇입니까?
[pylint] E1120:No value for argument 'cls' in unbound method call
내가 코드를 실행하려고 (내 코드는 이것보다 더 복잡하다)이 잘 실행하고 일을 할 나타납니다
class MyMeta(type):
"""A metaclass"""
def __new__(mcs, name, bases, attributes):
pass
def _foo(cls):
pass
def _bar(cls):
cls._foo()
나는 그것에 pylint를 실행
의cls._foo
어려움이있다 나는 그것을 기대하고 있습니다. 이 사건을 어떻게 수정해야합니까? 정확히 무엇을 의미하는지.
@staticmethods
으로 올바르게 선언하지 않는 것과 관련된 다른 오류가 들리지만, @classmethod
으로 표시 할 수 없습니다. 그 이유는 Metaclass 메서드이기 때문입니다.
관련 검색은 사람들이 생성자 또는 무언가를 동적으로 추가하는 장소에 대해 이야기하는 것처럼 보입니다. 그렇다고 생각하지 않습니다. 나는 아직도 메타 클래스에 관한 어떤 것을 오해하고 있는가?
정말 원하는 것은 메타 클래스로 정의 된 서로를 호출하는 클래스 메서드입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
는
https://stackoverflow.com/questions/35208443/pylint-complains-no-value-for-argument-cls – SteveJ
@SteveJ 내가 언급 한 경우가 특히 그렇습니다. 이 질문에서 OP는 파생 클래스에서 생성자가 선언 될 것으로 기대하고 있습니다. 이것은 여기에 해당하지 않습니다. – McKay