KV 데이터 저장소에 클래스를 만들고 개체를 만들고 있다고 가정합니다. 생성자를 생성하는 것은 매우 간단합니다 ...클래스 메서드에서 구성
class KVObject:
def __init__(self, key, value, add=True):
self.key = key
self.value = value
if add == True:
kv_create(key, value)
이제 KV- 개체를 검색하고 클래스 인스턴스를 생성한다고 가정 해 봅시다. 이 클래스 메소드를 DataBaseObject 클래스에 추가하겠습니다.
@classmethod
def get_kv_object(cls, key):
value = kv_get(key)
cls.__init__(key, value, add=False)
...하지만 클래스 메소드에서 초기화를 호출 할 때 (CLS .__ init__), 파이썬은 자기에 대한 인수를 요청합니다!
아이디어가 있으십니까? 많은 감사합니다! 나는 이것이 약간 간단한 예제라는 것을 알고 있지만, 좀 더 복잡하고 흥미로운 상황에 확실히 적용됩니다!
: 감사합니다. 이 객체를 조사하는 동안 도움이되는 것을 배웠습니다 .____ new__는 MyClass (...)를 호출 할 때 객체에서 __init__을 호출하여 효과적으로 클래스의 초기화되지 않은 인스턴스를 MyClass에 제공합니다. 과 MyClass에서 args가 호출됩니다. 마찬가지로 답안에서 제안하는 것처럼 cls (...)를 호출하는 것이 좋습니다. 고맙습니다.