이런 식으로 뭔가를 할 어쨌든 거기 방법에 액세스 할 객체의 클래스를 확인할 수 있습니다 ?파이썬은
편집 : 결국
, 나는 제안의 일부를 기반으로 이것을 함께 넣어 :
그것은 제공하는 모든 이유에 대해 완벽 하진import inspect
...
def check_caller(self, klass):
frame = inspect.currentframe()
current = lambda : frame.f_locals.get('self')
while not current() is None:
if isinstance(current(), klass): return True
frame = frame.f_back
return False
하지만, 감사 응답 : 그들은 큰 도움이되었습니다.
당신은 서로를 호출하는 많은 클래스가 있다고 말씀하셨습니다. 어떤 클래스가 무엇을 할 수 있는지를 제한하는 "보안"을 삽입하려고하는 것 같습니다. 이것은 일반적으로 나쁜 생각입니다. 왜 이렇게하고 싶은지 설명해주십시오. 어쩌면 누군가가 유스 케이스에 대한 더 나은 해결책을 제시 할 수 있습니다. –
하시는 일이 울어도 – Triptych